Creating a DOM NodeList
Asked Answered
S

1

12

I'm implementing all of the optional E4X features described in ECMA-357 Annex A and I'm having trouble implementing domNodeList (§A.1.2 and §A.2.2). How would I create my own NodeList object?

Even if I create a new XMLDocument and append every domNode() representation of the nodes in an XMLList, I still don't see how I could create a NodeList containing everything as comments and processing instructions are usually excluded.

Stratopause answered 21/11, 2009 at 21:1 Comment(3)
What is the context of this question? What are you writing?Abbasid
Ryan, do you not see domNodeList? I also clearly state where it's defined in ECMA-357.Stratopause
Crescent: So the best solution can be put in the post by any commenter.Stratopause
S
15

I figured out that I could use the childNodes attribute of a document fragment to create a NodeList. This was my solution:

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;
}
Stratopause answered 21/11, 2009 at 21:1 Comment(1)
This removes the added node/s from the domWeanling

© 2022 - 2024 — McMap. All rights reserved.