为了账号安全,请及时绑定邮箱和手机立即绑定

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

为什么这段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中为什么无法执行?
查看完整描述

3 回答

已采纳
?
stone310

TA贡献361条经验 获得超191个赞

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

用圆括号

查看完整回答
反对 回复 2016-08-14
?
qq_薯条配可乐_03787165

TA贡献1条经验 获得超0个赞

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


查看完整回答
反对 回复 2016-08-14
?
chwech

TA贡献63条经验 获得超18个赞

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

就好了

查看完整回答
反对 回复 2016-08-14
  • weibo_张张张张张大仙呀_03578611
    weibo_张张张张张大仙呀_03578611
    那你这里不是要弹出所有li标签的个数了?如果我html中有多个ul,如果我想要她弹出指定的一个ul里的li标签的个数呢?
  • chwech
    chwech
    兄弟,我说错了。都是你的代码误导了我。我知道了你的错误所在了。我重新组织一下
  • 3 回答
  • 0 关注
  • 2197 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信