ベンチマークはQSA & を比較.forEach
しますNodeIterator
toArray(document.querySelectorAll("div > a.klass")).forEach(function (node) {
// do something with node
});
var filter = {
acceptNode: function (node) {
var condition = node.parentNode.tagName === "DIV" &&
node.classList.contains("klass") &&
node.tagName === "A";
return condition ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT
}
}
// FIREFOX Y U SUCK
var iter = document.createNodeIterator(document, NodeFilter.SHOW_ELEMENT, filter, false);
var node;
while (node = iter.nextNode()) {
// do thing with node
}
今はどちらかNodeIterator
が悪いか、間違っています。
質問:いつ使用する必要がありNodeIterator
ますか?
ご存じないかもしれませんが、DOM4 は NodeIterator が何であるかを指定しています。