2013-01-03 244 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對象