猿问

请问为什么我的第二个函数输出的是2,跟答案中的3不符

<!doctype html>

<html>

<head>

    <meta charset="UTF-8">

<title>Document</title>

</head>

<body>

<ul id="list">

<li>1</li>

<li>2</li>

<li>3</li>

<li>4</li>

</ul>

<p>class为on的p标签</p>

</body>

</html>

<script type="text/javascript">

  window.onload=function(){

     var len1= getByClass('on','list');

     alert(len1.length);  // 结果等于2为正确

var len2= getByClass('on');

     alert(len1.length);  // 结果等于3为正确

}

function getByClass(clsName, parent){

 //定义函数getByClass()实现获取document或指定父元素下所有class为on的元素  

    var arr = [];

    if(parent){

        var oParent = document.getElementById(parent);

        var oElements = oParent.getElementsByTagName('*');

        for(var i in oElements){

            if(oElements[i].className==clsName){

                arr.push(oElements[i]);

            }

        }

    }else{

        var oElements = document.getElementsByTagName('*');

        for(var j in oElements){

            if(oElements[j].className==clsName){

                arr.push(oElements[i]);

            }

        }

    }

    return arr;

}

</script>



呆呆呆
浏览 1074回答 1
1回答

呆呆呆

我知道原因了,谢谢大家
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答