Создание списка узлов DOM

Я реализую все необязательные функции E4X, описанные в Приложении A ECMA-357, и у меня возникают проблемы с реализацией domNodeList (§A.1.2 и §A.2.2). Как мне создать свой собственный объект NodeList?

Даже если я создам новый XMLDocument и добавлю каждое представление domNode() узлов в XMLList, я все равно не понимаю, как создать NodeList, содержащий все, поскольку комментарии и инструкции по обработке обычно исключаются.


person Community    schedule 21.11.2009    source источник
comment
Каков контекст этого вопроса? Что ты пишешь?   -  person Ryan Lynch    schedule 22.11.2009
comment
Райан, ты не видишь domNodeList? Я также четко указываю, где это определено в ECMA-357.   -  person Eli Grey    schedule 22.11.2009
comment
Полумесяц: Итак, лучшее решение может быть добавлено в пост любым комментатором.   -  person Eli Grey    schedule 22.11.2009


Ответы (1)


Я понял, что могу использовать атрибут childNodes фрагмента документа для создания NodeList. Это было мое решение:

XML.prototype.function::domNodeList = function () {
    var fragment = document.createDocumentFragment(),
    len = this.length(),
    i = 0;
    for (; i < len; i++) {
        fragment.appendChild(this[i].domNode());
    }
    return fragment.childNodes;
}
person Community    schedule 21.11.2009
comment
Это удаляет добавленные узлы из дома. - person Pancho; 13.11.2014