gpt4 book ai didi

jquery - $(document).ready() 在准备好之前执行?

转载 作者:行者123 更新时间:2023-12-01 01:07:49 24 4
gpt4 key购买 nike

考虑我正在运行的简化版本:

<html>
<head>
<script src="data.js"></script>
<script src="content.js"></script>
</head>
<body>
<div id="contentGoesHere"></div>
</body>
</html>

这显然还有更多内容,但这是基本要点。在 content.js 中,我有几个函数可以根据 data.js 中包含的 json 数据将标记加载到我的 div 中。除了这些函数之外,还有以下行:

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

出于所有意图和目的,加载内容加载得很好,但在该代码中调用了对几个 div 中的第一个 div 执行 jquery .show() 的调用,这些 div 在全部附加到容器后加载元素。该代码不会执行,几乎就像 div 还不存在一样。所以我尝试延迟加载:

<html>
<head>
<script src="data.js"></script>
</head>
<body>
<div id="contentGoesHere"></div>
</body>
<script src="content.js"></script>
</html>

果然,两者都会导致显示第一个面板。如果 .ready() 应该等到 DOM 加载完成,为什么延迟加载包含 $(document).ready() 函数的文件会产生影响?

最佳答案

在 DOM 准备就绪后,您将使用 Javascript 附加额外的 DOM 元素。 $(document).ready()加载初始 DOM 后触发。这意味着初始请求中发送的内容。它不知道您在外部 Javascript 中的动态附加。

此外,<head> 中包含的脚本部分在 <body> 之前同步加载部分已加载。

关于jquery - $(document).ready() 在准备好之前执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18726553/

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