gpt4 book ai didi

javascript - DOM 元素什么时候是 "ready"?

转载 作者:太空宇宙 更新时间:2023-11-04 16:15:39 25 4
gpt4 key购买 nike

这听起来像是一个愚蠢的问题,我倾向于使用:

$(document).ready(function() { }); 

但基本问题。

假设我有一个这样的元素列表:

<body>
<p>Paragraph</p>
<div>Div</div>
<div id="HelloWorld">Hello, World</div>
<script>
var hw = $('#HelloWorld');
$(document).ready(function() {
// hw is available for me here
});
</script>
<p>Another paragraph</p>
</body>

div 似乎可用,而且我没有遇到错误,但这在技术上有什么问题吗?不是谈论完美组织的代码,而是对手头的技术问题感到好奇。

所以我想问题是:

DOM 元素是否在浏览器读取它时就被认为是完整的和可用的,无论其他元素是否已经加载?

最佳答案

It seems the div is available, and I don't run into errors, but is there anything technically wrong with this?

。只要脚本在元素存在之后才运行,您就可以访问它。 script 中的脚本它所引用的元素的标记之后的标记将始终如一地跨浏览器访问该元素。

始终有效:

<div id="foo">...</div>
<script>
$("#foo")...
</script>

从不工作:

<script>
$("#foo")...
</script>
<div id="foo">...</div>

工作 因为 jQuery 延迟执行 ready回调:

<script>
$(document).ready(function() {
$("#foo")...
});
</script>
<div id="foo">...</div>

这是the common recommendation的原因之一放script文档末尾的标记,就在结束之前 </body>标签。这样,他们就可以访问上面定义的所有元素。 (而且它们不会延迟页面的初始呈现,这通常,但并非总是如此,您想要什么...)

关于javascript - DOM 元素什么时候是 "ready"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32193518/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com