问答详情
源自:2-6 编程练习

弹出来两个都是2

<!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的元素  

    if(parent){

        var elements=document.getElementById(parent).getElementsByTagName("*");

    }else{

        var elements=document.getElementsByTagName("*");

    }

    var result=[];

    for(var i=0;i<elements.length;i++){

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

            result.push(elements[i]);

        }

    }

    return result;

}


</script>

帮我看下代码有什么问题

提问者:祯祺3362575 2016-07-16 21:33

个回答

  • GYA
    2016-07-17 00:50:00
    已采纳

    你看看alert(lent1.length);是不是弹出的两个窗口都是一样啊

  • 咿呀咿呀哒哒
    2016-09-22 15:51:01

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

    应该写成len2.length