关于什么时候DOMReady

关于什么时候DOMReady

如题,什么时候是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回答

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

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

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

http://img1.sycdn.imooc.com//climg/5e7031c4097b76bc06590191.jpghttp://img1.sycdn.imooc.com//climg/5e7031ce0968de1702850076.jpg

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

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

祝学习愉快!

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师