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

    xiaoxiao2021-03-25  154

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

    转载请注明原文地址: https://ju.6miu.com/read-4452.html

    最新回复(0)