关于什么时候DOMReady

来源:6-1 document

王文辉

2020-03-16 20:04:56

如题,什么时候是DOMReady,我的理解是html从解析到</body>,而不用解析到</html>。

为了提升效率会先让DOM先解析渲染(这个时候DOMReady),然后再加载JS,所以把JS放再</body>之后。

但是测试了以下代码之后发现document.write()方法并没有覆盖P标签

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<meta name="viewport" content="width=device-width, initial-scale=1">

<title>Document.write</title>

</head>

<body>

<p>写在HTML中的P标签</p>

</body>

<script>

document.write('写在body之后');

</script>

</html>

所以到底什么时候是DOMReady呢?

写回答

1回答

好帮手慕星星

2020-03-17

同学你好,HTML标签通过浏览器解析变成DOM节点,当页面上所有HTML都转换为节点,DOM树构建完, 简称之domReady。

这里还涉及到文档流的知识,这样写原内容不会被覆盖是因为原文档流并没有被关闭,所以不会覆盖。

如果外面添加上onload事件,就会覆盖

http://img.mukewang.com/climg/5e7031c4097b76bc06590191.jpghttp://img.mukewang.com/climg/5e7031ce0968de1702850076.jpg

window.onload事件是在文档内容加载完毕后再去执行事件处理函数,此时执行document.write()函数会自动调用document.open()函数创建一个新的文档流,所以此时原来的内容会被覆盖。

这里可以不用深入研究,知道怎么使用能够正常获取元素,输出内容就好。

祝学习愉快!

0

0 学习 · 40143 问题

查看课程