使用DocumentTraversal枚举属性

时间:2014-01-21 00:17:12

标签: javascript html5 document traversal

我需要使用DocumentTraversal枚举元素属性。我只针对IE11。它适用于元素,但我无法使用属性。它在第一个停止。

<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();

此时nn指向'class'属性

var nn1 = ni.nextNode();

nn1指向文本节点'dd'。

var nn2 = ni.nextNode();

nn2指向'null'。

所以而不是     id - &gt; class - &gt;风格 - &gt;存款准备金率 树是     class - &gt; 'DD'

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

我指的是这个文档 - http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html

使用treeWalker从一个属性导航到另一个属性也很棒。

1 个答案:

答案 0 :(得分: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);
        }
    }