Мне было интересно, знает ли кто-нибудь, как вы можете получить значение атрибута из HTML веб-страницы, используя jayq в ClojureScript.
Я сделал это до сих пор:
(ns jquerytest.core)
(def jquery (js* "$"))
(jquery
(fn []
(-> (jquery "#w3s")
(.attr "href" "http://www.duckduckgo.com")
)
)
)
Этот код делает то, что должен, и изменяет значение "href" в атрибуте "w3s" с http://www.google.com на http://www.duckduckgo.com.
Из того, что я знаю о jQuery (в котором был обернут jayq), получить значение атрибута так же просто, как:
var hyref = $(this).attr('href');
alert(hyref);
Итак, я пытался смоделировать подобное поведение в своем clojurescript (но просто писал на экран и т. д.). Вот набор из двух примеров попыток:
(1)
(defn attr-link []
(doto (jquery ".link")
(.html)
(println)
)
)
Этот метод был предназначен только для того, чтобы увидеть, могу ли я вообще получить что-либо из атрибута «ссылка», мне удалось вывести это на экран:
function jquerytest$core$y(){ var G__6988 = jquerytest.core.jquery.call(null,".link"); G__6988.html(); cljs.core.println.call(null,G__6988); return G__6988; }
(2)
(defn getVal []
(-> (jquery "#w3s")
(.attr "href")
)
)
Я надеялся, что кто-то, возможно, захочет указать на мою собственную глупость, объяснив мне, как на самом деле следует это делать.