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

为什么我的是0?请大神指出错误

<!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(len2.length);  // 结果等于3为正确
}
function getByClass(clsName, parent){
 //定义函数getByClass()实现获取document或指定父元素下所有class为on的元素  
    var oP=parent?document.getElementById(parent):document,
        box=new Array();
        s = oP.getElementsByTagName('*');
    for(i=0;i<s.length;i++){
        if(s[i].className==clsName){
            box.push(s[i]);
        }
    }
    return box;
}
</script>

提问者:梦幻星空web 2016-03-24 21:37

个回答

  • qq_风起叶落_0
    2016-09-15 16:10:39

    li中没有on的class,得到0是正常的,加上on测试就好啦

  • 慕粉3413685
    2016-06-12 02:23:39

    少了class     三目运算式判断也不对,如果parent为否时,应该是document.body

  • web老实人
    2016-03-25 18:00:39

    li 里没有class

  • qq_傻呆_0
    2016-03-25 01:58:36

    亲 你的li 中没有claa,,,所以为0 了