下面是測試情況:爲什麼.attributes包含無效的屬性名稱?
HTML:
<div id="div1" x="="y">Test</div>
JS:
var div1 = document.getElementById('div1');
var attributes = [];
for (var i=0, len=div1.attributes.length; i < len; i++) {
attributes[div1.attributes[i].nodeName] = div1.attributes[i].value;
}
console.log(attributes);
https://codepen.io/anon/pen/LyGdxd
我知道屬性在HTML已經無效,但爲什麼瀏覽器仍然暗示無效nodeName
。
無關緊要,如果它是無效的HTML,添加到元素的任何屬性將在JavaScript中可用,並且JavaScript並不真正驗證HTML。 – adeneo