$(document).ready 在 DOM 创建后加载内容,需要在 DOM 中加载内容



我正在使用咖啡脚本,它在创建 DOM 后加载内容。虽然,内容不存在于页面源代码中,但在Firebug上查看时会出现。

我希望内容也出现在视图源上。

在 coffeeScript 中获取内容的替代方案是什么(document).ready 来获取 DOM 中的内容?

用最简单的术语来说,当用户访问网站时,您的浏览器会下载一个 HTML 文件。这个HTML文件是静态的,即一旦下载它就不会改变或改变。这是您的浏览器需要的说明,以便它可以理解如何将 HTML 显示为页面。这是您在查看源时看到的内容。

但是,当下载此HTML文件时,HTML中包含(或引用)的其他指令开始执行,例如JavaScript。JavaScript 可以更改 DOM,但不会更改原始源代码。这就是为什么在Firebug中查看它并查看源代码时会看到不同的东西。

咖啡脚本是一种语言,而不是一种自由语言。所以咖啡脚本等价物

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

只是

$(document).ready ->

或者使用$(function(){ ...速记更简单,您可以在咖啡脚本中执行此操作,如下所示:

$ ->

从字面上看,就是这样。要在咖啡脚本中执行$(document).ready,您仍然需要包含jQuery。咖啡脚本和jQuery可以很好地配合使用:)


在重新阅读您的问题时,如果您要获取的内容不在视图源代码中,而是稍后由您无法控制的另一个脚本添加,那么$ ->不足以解决您的问题。您将需要在 DOM 显示后进行选择,这意味着要么设置计时器,要么使用回调。

最新更新