1.与我前面的随笔获取元素的那些方法不同http://www.cnblogs.com/GreenLeaves/p/5689075.html 获取元素属性的方法getAttribute()不属于document对象,所以不能通过document对象调用。注意:他只能通过元素节点对象调用,但是可以与获取元素的方法getElementsByTagName()、getElementsById()等方法连用;如下代码:
<body> <div id="target"> <div class="a"> </div> <div class="b"> </div> <div class="c"> </div> </div> <script type="text/javascript"> var elements = document.getElementById('target').getElementsByTagName('*'); for (var i = 0; i < elements.length; i++) { alert(elements[i].getAttribute('class')); } </script> </body>
输出:a,b,c 说明:getAttribute()方法只能获取单个元素节点的属性值,且不属于document对象,属于单个元素节点对象;
2.在前面随便中介绍的方法几乎都是获取元素节点的信息,setAttribute()有点不同,这个方法是用来设置节点的属性值;他和getAttribute()一样,也只能作用与单个元素节点,不属于document对象;代码如下:
<body> <div id="target"> <div class="a"> </div> <div class="b"> </div> <div class="c"> </div> </div> <script type="text/javascript"> var elements = document.getElementById('target').getElementsByTagName('*'); for (var i = 0; i < elements.length; i++) { elements[i].setAttribute('class','class'+i) alert(elements[i].getAttribute('class')); } </script> </body>
输出:class0,class1,class2 说明:setAttribute()与getAttribute()一样只能对单个元素节点进行赋值,且不属于document对象,属于单个元素节点对象;