【问题标题】:How do I know that the DOM is ready after appending contents to the page?在将内容附加到页面后,我如何知道 DOM 已准备就绪?
【发布时间】:2014-07-02 10:18:55
【问题描述】:

假设我要将一些内容动态附加到页面,它涉及一些 HTML 和一些 Javascript(通过添加更多脚本标签)。

我怎么知道一切都准备好了(就像在页面加载时我会使用 jQuery $(..) 一样)?

或者追加操作完成后继续下去就可以了?

【问题讨论】:

  • 你必须像这样使用 $(document).ready(function(){});当 DOM(文档对象模型)被加载时,ready 事件发生。
  • 向我们展示您尝试过的代码
  • 我可能是错的,但我相信.append() 是同步的,所以之后可以处理动态内容
  • 事实证明你是对的 -> stackoverflow.com/questions/5085228/… 非常感谢

标签: jquery dom dom-events


【解决方案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/表示级别和相同的代码模块中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-12
    • 1970-01-01
    • 2012-10-16
    • 2012-07-31
    相关资源
    最近更新 更多