为什么弹出的两个数都为2?

来源:2-6 编程练习

qq_你是锦瑟我为流年_03130649

2017-03-21 13:11

<!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 oparent=parent?document.getElementById(parent):document;
   Arr=new Array();
   var oElements=oparent.getElementsByTagName('*');
   for(var i=0;i<oElements.length;i++){
       if(oElements[i].className==clsName)
       Arr.push(oElements[i]);
   }

    return Arr;

}
</script>

写回答 关注

2回答

  • 没事儿多学习
    2017-03-27 23:23:47
    已采纳

    var len1= getByClass('on','list');
    alert(len1.length);  // 结果等于2为正确
    var len2= getByClass('on');
    alert(len1.length);  // 结果等于3为正确

    给的模板错了,将这个代码中第二处的len1.length改为len2.length就好了

  • weibo_WATERwater_0
    2017-03-21 16:07:25

    是两个0,你到底在问什么?

瀑布流布局

瀑布流布局是网站比较流行的一种布局方式,教你实现三大方式

97759 学习 · 736 问题

查看课程

相似问题