当我们写代码时,尤其是要获得一个对象的className值时,在IE下是不支持document.getElementByClassName()这种方法的,那么我们可以自己写一个方法用来获取classname的值
function getByClassName(obj,cls){
// obj目标元素,cls要获得的class名
var element = obj.getElementsByTagName('*');//将目标下的所有子元素获取到
var result = []; //定义一个数组,存放获得的classname = "cls" 的所有值
for(var i = 0; i< element.length; i++){
if(element[i].className == cls){
result.push(element[i]);
}
}
return result;
}
例子:
<div id= "diva" >
<div class = "divb">
<span>我是divb
</div>
</div>
如要获得diva下的divb 则需要这样写
<script >
.
.
var a = document.getElementById("diva");
var result =getByClassName(a,"divb");
.
.
</script>
如果要求的div的父元素没有属性id,或者更向上一层的也没有属性id,那么我能想到的办法就是通过document.body获取到body元素再向下逐层查找。(注:请尽量不要用document.body和document.all)