2009-11-21 1 views
11

ECM-357 Annex A에 설명 된 모든 옵션 E4X 기능을 구현 중이며 domNodeList (§A.1.2 및 §A.2.2) 구현에 문제가 있습니다. 내 자신의 NodeList 객체는 어떻게 만들 수 있습니까?DOM 노드 목록 만들기

새 XMLDocument를 만들고 노드의 모든 domNode() 표현을 XMLList에 추가하더라도 모든 것을 주석으로 포함하는 NodeList를 만드는 방법과 처리 지침은 일반적으로 제외됩니다.

+0

이 질문의 컨텍스트는 무엇입니까? 당신은 무엇을 쓰고 있습니까? –

+2

Ryan, domNodeList가 보이지 않습니까? 또한 ECMA-357에서 정의 된 부분을 명확하게 설명합니다. –

+0

왜 이것이 CW입니까? –

답변

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