getElementsByClassName("btn").length的输出

<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>


为何输出结果是

0

1

2

3

4


尚方宝剑之说
浏览 487回答 1
1回答

德玛西亚99

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

相关分类

JavaScript