2013-01-03 116 views
3

尝试通过执行Code School CoffeeScript课程来获取CoffeeScriptjQuery

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

那么...... jQuery函数自己做什么?试着看着api.jquery.com,很难找出答案。谢谢!

+0

*它实际上是被连接成一个字符串三个字符串“由两个文字环绕”。您将一个表示html的字符串传递给jQuery,jQuery将其转换为html片段,类似于执行'var li = document.createElement(“li”)。innerHTML = name;'尽管jQuery可能直接在整个字符串中使用innerHTML取决于字符串的复杂程度。 –

回答

5

在这个例子中,你使用jQuery来创建一个DOM元素。

一个<li>一些(文字我假设)是在变量name

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

用于与jQuery创建DOM元素的结构为:

$(html, props) 

查阅这些jQuery Docs阅读更多关于jQuery选择。

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

道具:调用 新创建的元素的属性,事件和方法的映射。

正如我们在您的示例中所见,我们只能通过html$("<li>" + name + "</li>")

1

您正在将字符串传递给jQuery "<li>" + name + "</li>"这实际上是将3 string连接起来形成1 string。这是传递到如果一个字符串 jQuery的功能,它解析并chaeck

:它会被解析为复杂manuplation圆顶选择器ID,等级的基础上的Selec元素,和更复杂的选择

如果其对象:选择与该对象相关的dom。

如果这个(JavaScript对象):它被转换为jQuery对象