Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将clojurescript与jquery一起使用?_Clojure_Clojurescript - Fatal编程技术网

将clojurescript与jquery一起使用?

将clojurescript与jquery一起使用?,clojure,clojurescript,Clojure,Clojurescript,这就是我要做的,我可以用jQuery替换Dom,但我不知道如何获得Dom值。这太可耻了。 这是我遵循的要点。 所以我问了原著作者,但还没有回答。 PS:我只是想在浏览器中尝试一些CLJ,所以我没有使用像jayq这样的库。 我尝试过类似于(.val“yes”)的方法,但似乎是错误的 (ns hello-world.jquerytest) (enable-console-print!) (def jquery (js* "$")) (defn x [] (-> (jquery

这就是我要做的,我可以用jQuery替换Dom,但我不知道如何获得Dom值。这太可耻了。

这是我遵循的要点。
所以我问了原著作者,但还没有回答。 PS:我只是想在浏览器中尝试一些CLJ,所以我没有使用像jayq这样的库。 我尝试过类似于
(.val“yes”)
的方法,但似乎是错误的

(ns hello-world.jquerytest)
(enable-console-print!)
(def jquery (js* "$"))

(defn x []
  (-> 
    (jquery ".meat")
      (.html "yes")))

(jquery
  (fn []
    (x)
    (-> (jquery "li.numbers")
      (.html "pink")
      (.append "banana"))))

以下是我根据瓦内萨的评论给出的答案 我试过了

它将打印我想要的值。 如果我使用的是
doto
它将在我不想要的控制台中打印

(defn x []
  (->  
    (doto
      (jquery ".meat")
      (.html)
      (println))))

.html
返回一个字符串。您可能想使用clojure的
doto
。如果这解决了问题,请您自己回答,并提供一些很好的解释和参考。感谢您的提示,但不需要添加
doto
,只需像管道一样列出函数。您更改了代码。如果要在末尾使用
.append
调用,则需要使用
doto
。在
->
中用一个表单包装表单是没有意义的。它没有任何作用。
(defn y[](doto(jquery.meat)(.html)(println))
我也打了这个,你的意思是我可以删除
->
。但是这一个仍然打印#,我发现
->
似乎做了与
doto
相同的动作,你被使用
->
和doto弄糊涂了。只需将它们写出来,不要使用
->
(defn x []
  (->  
    (doto
      (jquery ".meat")
      (.html)
      (println))))