2

在 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)
4

1 回答 1

2

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

(.contains a b)也可以写成(. a (contains b)),这实际上是.contains编译器完成后展开的内容。

还有..一个允许链接互操作表单,所以(.. js/document -some-element (contains another-element))match document.some_element.contains(another_element)。请注意,js/document这里是访问全局文档。

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

于 2020-02-22T20:20:09.843 回答