我需要使用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://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html
使用treeWalker从一个属性导航到另一个属性也很棒。
答案 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);
}
}