为什么这段js代码0总是出错?把0拿掉之后length又出错?

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

    <title></title>

    <script>

        window.onload = function () {

            alert(document.getElementById('div1').getElementsByTagName['ul'][0].getElementsByTagName['li'].length);

        }


    </script>

</head>

<body>

    <div id="div1">

        <ul>

            <li>nihao</li>

            <li>js</li>

            <li>hello</li>

            <li>html5</li>

        </ul>

    </div>


</body>

</html>

js中为什么无法执行?

weibo_张张张张张大仙呀_03578611
浏览 2202回答 3
3回答

stone310

 alert(document.getElementById('div1').getElementsByTagName['ul'][0].getElementsByTagName['li'].length);用圆括号

qq_薯条配可乐_03787165

alert(document.getElementById('div1').getElementsByTagName('ul')[0].getElementsByTagName('li').length);

chwech

getElementsByTagName() getElementById() getElementsByName()等等都是document对象的方法document.getElementById('div1').getElementsByTagName['ul'][0].getElementsByTagName['li'].length不能像你这样调用,我猜你是想弹li元素的个数,可以这样写alert(document.getElementsByTagName("li").length); //4------------------------------------以上原答案。上面的答案是错误的。getElementsByTagName() getElementById() getElementsByName()都可以由具体对象调用,不仅仅document真正错误所在是兄弟代码中document.getElementById('div1').getElementsByTagName['ul'][0].getElementsByTagName['li'].length方法后面的( )错写成[ ]导致错误,改成document.getElementById('div1').getElementsByTagName('ul')[0].getElementsByTagName('li').length就好了
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript