【问题标题】:How to check for DOM .contains? in clojurescript?如何检查 DOM .contains?在clojurescript中?
【发布时间】:2020-02-24 23:55:42
【问题描述】:

在 JS 中,document.some_element.contains(other_element) 用于查找一个元素是否包含在另一个元素中。

如何在 Clojurescript/Hiccup/Reagent 框架中做到这一点?

我试过了:

(js/contains some-element another-element)
(-> js/contains some-element another-element)
(.-contains some-element another-element)
(js/.contains some-element another-element)

【问题讨论】:

  • 你试过什么? CLJS 编译成 JS,所以那里的工作也应该在这里工作。
  • 当然可以,但是语法是什么?

标签: dom clojurescript reagent hiccup


【解决方案1】:

在对象上调用方法的正确语法是(.contains a b),它等于a.contains(b)js/ 命名空间保留用于访问“全局”范围,因此不能与局部变量一起使用。

(.contains a b)也可以写成(. a (contains b)),其实就是.contains编译完成后的扩展。

还有.. 允许链接互操作表单,因此(.. js/document -some-element (contains another-element)) 将匹配document.some_element.contains(another_element)。注意这里的js/document是访问全局文档。

->也可以通过需要重复.来使用,例如(-> js/document .-some-element (.contains another-element))

【讨论】:

猜你喜欢
  • 2013-06-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-14
  • 2022-01-26
相关资源
最近更新 更多