我需要JavaScript代码来遍历HTML元素中的填充属性.
这个Element.attributes ref说我可以通过索引访问它,但是没有指定它是否得到很好的支持并且可以使用(跨浏览器).
还是其他任何方式?(不使用任何框架,如jQuery/Prototype)
这适用于IE,Firefox和Chrome(有人可以测试其他人吗? - 谢谢,@ Bryan):
for (var i = 0; i < elem.attributes.length; i++) { var attrib = elem.attributes[i]; console.log(attrib.name + " = " + attrib.value); }
编辑:IE迭代所讨论的DOM对象支持的所有属性,无论它们是否实际上已经在HTML中定义.
您必须查看attrib.specified
Boolean属性以确定该属性是否实际存在.Firefox和Chrome似乎也支持这个属性:
for (var i = 0; i < elem.attributes.length; i++) { var attrib = elem.attributes[i]; if (attrib.specified) { console.log(attrib.name + " = " + attrib.value); } }
另一种方法是使用Array.from
以下方法将属性集合转换为数组:
Array.from(element.attributes).forEach(attr => { console.log(`${attr.nodeName}=${attr.nodeValue}`); })