2014-01-21 2 views
0

DocumentTraversal을 사용하여 요소 특성을 열거해야합니다. IE11 만 타겟팅하고 있습니다. 그것은 요소에 대해 잘 작동하지만, 나는 속성과 함께 작동시키지 못합니다. 처음에는 멈 춥니 다. 이 시점 윈에서 DocumentTraversal을 사용하여 특성 열거

<div id ="div1" class="dd" style="background: yellow" rrr="rrtis"> 

var a0 = document.getElementById('div1').attributes[0]; 
var ni = document.createNodeIterator(a0, 0xffff, null, false); 
var nn = ni.nextNode(); 

var nn1 = ni.nextNode(); 

NN1

노드를 텍스트 가리키는 속성 '클래스'를 가리키는 'DD 형식'.

var nn2 = ni.nextNode(); 

nn2가 'null'을 가리키고 있습니다.

그래서 대신 ID -> 클래스 -> 스타일 -> RRR 은 나무 클래스입니다 -> 나는이 문서 말하는 겁니다 'DD'

http://jsfiddle.net/Bfumh/1/

-http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html

을 또한 treeWalker를 사용하여 한 속성에서 다른 속성으로 이동하는 것이 좋습니다.

답변

0

반복기를 사용해야합니까? 다음과 같이 간단해야합니다 :

var div = document.getElementById('div1'); 

    for (var idx = 0; idx < div.attributes.length; idx++) { 
     var atr = div.attributes[idx]; 

     // If you want to make sure the attribute has a value, 
     // include the following conditional. Otherwise just 
     // use the `name` property. 

     if (atr.specified) { 
      console.log(atr.name + ': ' + atr.value); 
     } 
    } 
+0

예. DocumentTraveral 인터페이스는 서식이 유지되는 텍스트 노드를 추가로 제공합니다. 그리고 이것은 원소에 대해서는 잘 작동하지만 속성에 대해서는 그렇지 않습니다. – Dizzy