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

当我们写代码时,尤其是要获得一个对象的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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值