Задача
Я создаю документ с использованием javascript и хочу выполнить запросы XPath к этому документу.
- Я пробовал это в Safari / Chrome
- Я прочитал о поиске createDocument / xpath, и кажется, что этот код должен работать
- На данный момент кажется, что это может быть ошибка webkit
Мои требования:
- Я могу использовать innerHTML () для настройки документа
- Я могу выполнить поиск xpath с тэгами
код:
Если вы скопируете / вставите следующую информацию в инспектор веб-наборов, вы сможете воспроизвести.
function search(query, root) {
var result = null;
result = document.evaluate(query, root, null, 7,null);
var nodes = [];
var node_count = result.snapshotLength;
for(var i = 0; i < node_count; i++) {
nodes.push(result.snapshotItem(i));
}
return nodes;
}
x = document.implementation.createDocument('http://www.w3.org/1999/xhtml', 'html', 'HTML');
body = x.createElement('body');
body.innerHTML = "<span class='mything'><a></a></span>";
xdoc = x.documentElement; //html tag
xdoc.appendChild(body);
console.log(search(".", xdoc)); // --> [<html>…</html>]
console.log(search("/*", xdoc)); // --> [<html>…</html>]
console.log(search("/html", xdoc)); // --> []
Best Guess
Так что я точно могу искать с помощью XPath, но я не могу искать с помощью тэгов. Есть ли что-то глупое, что я упускаю из пространства имен?