title: Clojurescript DOM interface
body: <p>Is there a Clojurescript library which makes the DOM look like a Clojure data structure ? I found a few libraries like Enfocus which do certain kinds of DOM manipulation, but what I want is to be able to treat the DOM like this:</p>
  
  <pre><code>(get dom id) - returns element called id in dom
  (get dom id create-fn) - return element if exists, otherwise creates it
  (update-in dom [:body this that] update-fn) - set attribute on a DOM element 
  (assoc parent-element id child-element) - associate child element with parent
  (conj parent child) - append child element to parent element
  </code></pre>
  
  <p>and so on</p>