JavaScript之获取和设置元素属性
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对象,属于单个元素节点对象;