12

ECMA-357 Annex A に記載されているオプションの E4X 機能をすべて実装していますが、domNodeList (§A.1.2 および §A.2.2) の実装に問題があります。独自の NodeList オブジェクトを作成するにはどうすればよいですか?

新しい XMLDocument を作成し、XMLList 内のノードのすべての domNode() 表現を追加しても、コメントや処理命令は通常除外されるため、すべてを含む NodeList を作成する方法がわかりません。

4

1 に答える 1

15

ドキュメント フラグメントの 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;
}
于 2009-11-21T22:58:55.767 に答える