当IE浏览器不支持document.getElementByClassName()

来源:互联网 发布:linux vi如何到指定行 编辑:程序博客网 时间:2024/05/17 06:12

当我们写代码时,尤其是要获得一个对象的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)


1 0
原创粉丝点击