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

name.length应该是“4”怎么显示的是“”“23”呢

name.length应该是“4”怎么显示的是“”“23”呢

逸风4241167 2017-06-08 09:59:40
<ul> <li>1111</li>    <li>2222</li>    <li>33333</li>    <li>44444</li></ul><script>var name=document.getElementsByTagName('li');//obj=name[2];alert(name.length); </script>name.length应该是“4”怎么显示的是“”“23”呢 
查看完整描述

3 回答

?
仙士可

TA贡献170条经验 获得超132个赞

这个我刚刚看了下,发现了问题,虽然document.getElementsByTagName('li');获取到了集合,但是.length,获取到的是集合所表示的字符串,你试试console.log(name),就会发现打印出的是[object HTMLLIElement]这字符,刚好是23位

查看完整回答
3 反对 回复 2017-06-08
?
0_0墨眉

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

改变var name=document.getElementsByTagName('li');为var li=document.getElementsByTagName('li');后尝试alert(li.length),输出结果为4.之所以出现23是因为name 在浏览器环境中是一个全局/window对象的属性,alert(name);会输出[object HTMLCollection],此时获取的length是[object HTMLCollection]的长度。

查看完整回答
反对 回复 2017-06-08
?
qq_歲月靜好不忘初心_0

TA贡献38条经验 获得超6个赞

这个问题你需要先清楚明白变量名的命名规则
查看完整回答
反对 回复 2017-06-08
  • 3 回答
  • 1 关注
  • 1947 浏览
慕课专栏
更多

添加回答

举报

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