Как проверить DOM .contains? в письменном виде? - PullRequest
2 голосов
/ 22 февраля 2020

В 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)

1 Ответ

2 голосов
/ 22 февраля 2020

Правильный синтаксис для вызова метода объекта - (.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)).

...