Как проверить, принадлежит ли узел html или окну браузера с помощью javascript? - PullRequest
3 голосов
/ 24 августа 2011

Я работаю над расширением Firefox, в котором у меня есть узел, который я хочу знать, принадлежит ли этот узел к html (я имею в виду, что узел принадлежит к document.body элементам, таким как div, p и т. Д.) Или просто window, например menu, toolbar и т. Д.

Есть ли способ сделать это в JavaScript?

Извините, если это глупый вопрос, так как я новичок в JavaScript. Дайте мне знать, если есть что-то неясное или двусмысленное.

Я очень благодарен за ваши ответы. :)

1 Ответ

3 голосов
/ 24 августа 2011

Самый простой способ, которым я знаю, - это следовать родительской цепочке и посмотреть, найдете ли вы document.documentElement или нет.

В jQuery вы можете использовать jQuery.contains(document.documentElement, el)

В YUI3 вы можете использовать node.inDoc()

Любопытно, что реализации jQuery и YUI не просто следуют за родительской цепочкой - они проверяют наличие методов .contains(el) или .compareDocumentPosition(el) на желаемом предке и используют тот, который присутствует.

...