在将内容附加到页面后,我如何知道 DOM 已准备就绪?
Posted
技术标签:
【中文标题】在将内容附加到页面后,我如何知道 DOM 已准备就绪?【英文标题】:How do I know that the DOM is ready after appending contents to the page? 【发布时间】:2014-07-02 10:18:55 【问题描述】:假设我要将一些内容动态附加到页面,它涉及一些 html 和一些 javascript(通过添加更多脚本标签)。
我怎么知道一切都准备好了(就像在页面加载时我会使用 jQuery $(..) 一样)?
或者追加操作完成后继续下去就可以了?
【问题讨论】:
你必须像这样使用 $(document).ready(function());当 DOM(文档对象模型)被加载时,ready 事件发生。 参考这个***.com/questions/4584373/… 向我们展示您尝试过的代码 我可能是错的,但我相信.append()
是同步的,所以之后可以处理动态内容
事实证明你是对的 -> ***.com/questions/5085228/… 非常感谢
【参考方案1】:
我很幸运,在附加的 HTML 中包含了一个就绪函数。 比如
var new_html = "<SCRIPT>$(function() alert("ready!"););</SCRIPT> <DIV>Added content</DIV>";
$("#host-div").append(new_html);
添加新的 div 后,脚本将运行。我通常使用这种技术在添加的内容中初始化 jqueryui 小部件。这在使用 AJAX 从服务器获取 HTML 时特别有用,并且 HTML 是从模板文件生成的——它将逻辑保持在 HTML/表示级别和相同的代码模块中。
【讨论】:
以上是关于在将内容附加到页面后,我如何知道 DOM 已准备就绪?的主要内容,如果未能解决你的问题,请参考以下文章