JS: разница между document.evaluate(".//html"... и document.evaluate("//html"...?
Точка (.
) имеет значение в document.evaluate
? Я проверил и, кажется, ничего не делает
Учебные руководства mozilla используют его в примерах https://developer.mozilla.org/en-US/docs/Web/API/document.evaluate
1 ответ
Точка обозначает текущий выбранный узел в дереве элементов, на котором вы находитесь.
Если вы посмотрите на определение функции, это показано здесь
var xpathResult = document.evaluate(
xpathExpression,
*contextNode*,
namespaceResolver,
resultType,
result
);
Обычно документ передается как объект контекста. Если вы также заметили следующую строку с сайта, на который вы ссылались
В этом примере символ "." важно указать, что запрос должен начинаться с узла контекста
Все это, конечно, происходит из XPath.
Возможно, вы хотели бы взглянуть на селектор запросов, если не хотите использовать xpath: https://developer.mozilla.org/en-US/docs/Web/API/document.querySelector