0
votes

I can get an HTML element from my clojurescript page in the REPL:

cljs.user=> (.-innerHTML (.getElementById js/document "app"))
"This is clojure"

But how do i change this element to for example: "This is awesome clojure"

1
yes, thank you! - David

1 Answers

1
votes

You can mutate this element like so...

(set! (.-innerHTML (.getElementById js/document "app")) "This is awesome ClojureScript")

And please be aware that you could also say...

(set! (.. js/document (getElementById "app") -innerHTML) "This is awesome ClojureScript")

...in case that is more attractive to you. Or you could say...

(->> "This is awesome ClojureScript" (set! (.. js/document (getElementById "app") -innerHTML)))

...or...

(let [app-element (js/document.getElementById "app")] (set! (.-innerHTML app-element) "This is awesome ClojureScript"))

Blessings, Raphael