<div id="box" aaa="1"></div> //自定义属性aaa
var box = document.getElementById("box");//通过DOM方法获取id名为box的标签对象
console.log(box.id);//box 原来有规定的标签属性 能够通过对象的属性获取到
console.log(box.aaa);//undefined 自定义属性,即使已在标签中写明,仍不能通过对象的属性获取到
正常浏览器都不能通过对象的属性获取没有规定的标签属性(IE6、7、8除外)
dom方法getAttribute()和setAttribute()
console.log(box.getAttribute("aaa"));//只要标签中写了 无论有没有规定都可以获取
box.setAttribute("bbb", "1");//属性有没有规定都可以设置,并且会反映到标签上,即:
<div id="box" aaa="1" bbb="1"></div>
box.ccc = "1";//当然可以设置,但是不会反映到标签上,即仍然是:
<div id="box" aaa="1" bbb="1"></div>
因此,若想把自定义属性反映到标签上,应使用 setAttribute()方法