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