document.getElementById
, document.getElementsByClassName
, document.getElementsByTagName
и некоторые другие могут быть вызваны для других элементов / узлов, которые не являются document
(например, element.getElementsByTagName
). Я где-то читал, что document.evaluate
также можно использовать таким образом, но когда я пытаюсь element.evaluate
, я получаю ошибку. Было ли то, что я прочитал неправильно?
Обновление № 1: Передача другого contextNode
не является решением. Возвращаются те же узлы, что и при установке document
, если выражение XPath не изменено в соответствии с ним. Даже если бы я это сделал, чего я не хочу по нескольким причинам, это не обеспечит способ вызова evaluate
на узлах, которые отделены от DOM.