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

getElementsByClassName("btn").length的输出

getElementsByClassName("btn").length的输出

尚方宝剑之说 2019-03-12 15:19:51
<html><head>    <meta charset="UTF-8">    <script type="text/javascript" >        var x=document.getElementsByClassName("btn").length;        document.write(x);    </script></head><body>        <div class="btn">1</div>        <div class="btn">2</div>        <div class="btn">3</div>        <div class="btn">4</div></body></html>为何输出结果是01234?
查看完整描述

1 回答

?
德玛西亚99

TA贡献1770条经验 获得超3个赞

document.write()执行时.Document树还没有初始化. 所以是 0. 后面的是div显示数字.
如果想要打印长度,加上onload函数,那么你会发现一个神奇的效果,就是页面就显示一个4.
div哪去了? 
因为js在执行时Document已经创建好了.在执行Document.write时,就会重新打开一个新的文档流.
新的文档流就会把之前存在的页面都被清除掉了.
write要慎用.

查看完整回答
反对 回复 2019-03-20
  • 1 回答
  • 0 关注
  • 486 浏览
慕课专栏
更多

添加回答

举报

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