Когда использовать NodeIterator

Тест сравнивает 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 .

9
задан Raynos 29 October 2011 в 19:52
поделиться