3

尝试通过参加 Code School CoffeeScript 课程来掌握CoffeeScriptjQuery 。

使用的摘录之一是$("<li>" + name + "</li>")。我设法弄清楚这$jQuery(对吗?)的别名,所以我想这意味着我们正在用一个字符串(name是一个字符串,被两个文字包围)调用 jQuery 函数。

那么......该jQuery功能自己做了什么?尝试查看 api.jquery.com,但无法弄清楚。谢谢!

4

2 回答 2

5

在本例中,您使用 jQuery 创建一个 DOM 元素。

变量中有<li>一些(我假设的文本)name

如果一个字符串作为参数传递给$(),jQuery 会检查该字符串以查看它是否看起来像 HTML(即,它在字符串中的某个位置)。如果不是,则字符串被解释为选择器表达式,如上所述。但是如果字符串看起来是一个 HTML 片段,jQuery 会尝试按照 HTML 的描述创建新的 DOM 元素。然后创建并返回一个引用这些元素的 jQuery 对象。

用 jQuery 创建 DOM 元素的结构是:

$( html, props )

查看这些jQuery 文档以了解有关 jQuery 选择器的更多信息。

html:定义单个、独立的 HTML 元素(例如 或 )的字符串。

props:用于调用新创建元素的属性、事件和方法的映射。

正如我们在您的示例中看到的,我们只传递html$("<li>" + name + "</li>")

于 2013-01-03T15:52:08.353 回答
1

您实际上是在将一个字符串传递给 jQuery,"<li>" + name + "</li>"这实际上是一个连接的3 string形式1 string。哪个被传递给它解析和检查的 jQuery 函数

如果它是一个字符串:它被解析成一个圆顶选择器,根据 id、class 和更复杂的选择器来选择元素

如果它是一个对象:选择与该对象相关的 dom。

如果是 this (javascript Object) : 它被转换为 jQuery 对象

于 2013-01-03T16:11:02.570 回答