2016-04-23 19 views
0

ClojureScriptでjayqを使用してWebページのHTMLから属性の値を取得する方法を知っている人がいますか?私はこれまでのところ、これを行っているClojureScript:Jayqを使用して属性の値を取得する

(ns jquerytest.core) 

(def jquery (js* "$")) 
(jquery 
    (fn [] 
     (-> (jquery "#w3s") 
      (.attr "href" "http://www.duckduckgo.com") 
     ) 
    ) 
) 

このコードは、何がそれが必要ないとhttp://www.google.comからhttp://www.duckduckgo.comに属性「w3s」の「HREF」の値を変更します。

私はjQueryのを知っていることから、(周りに包まれたjayq上)、属性の値を取得するのと同じくらい簡単です:だから

var hyref = $(this).attr('href'); 
alert(hyref); 

、私はで同様の動作をモデル化しようとしてきました私のclojurescript(しかし、単に画面に書き込むなど)。ここでは、2つの例のセットをしようとしている:

(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") 
    ) 
) 

:画面に出て実際にこれをやってみるべきだということを私に話して、私自身の愚かさを取り除いてください。

答えて

0

検索のしばらくして、私は自分自身で答えにつまずくことができました。 Dommyライブラリ(私のコードではdom)を使用して、 "a"タグのhref値を取得することができました。

(ns hello-world.core 
    (:require [clojure.browser.repl :as repl] [dommy.core :as dom]) 
     (defn get-link-value 
     [] 
     (println (-> (dom/sel1 "#w3s") 
      (dom/attr :href) 
     ) 
    ) 

これは決して問題の最良の解決策ではありませんが、私がこの時点で見つけたのはこれだけです。

関連する問題