2009-11-21 104 views
11

我正在實現ECMA-357附錄A中描述的所有可選E4X特性,並且在實現domNodeList(§A.1.2和§A.2.2)時遇到困難。我將如何創建我自己的NodeList對象?創建DOM節點列表

即使我創建了一個新的XMLDocument並在XMLList中附加了節點的每個domNode()表示,但我仍然沒有看到如何創建一個包含所有內容的NodeList,因爲註釋和處理指令通常被排除。

+0

這個問題的背景是什麼?你在寫什麼? – 2009-11-21 21:15:59

+2

瑞恩,你沒有看到domNodeList?我也清楚地說明它在ECMA-357中的定義。 – 2009-11-21 21:35:59

+0

爲什麼這是CW? – 2009-11-21 22:01:41

回答

16

我想到我可以使用文檔片段的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; 
} 
+1

這會從dom中刪除添加的節點 – Pancho 2014-11-13 13:01:33