2012-08-17 49 views
3

在javascript/jQuery中,此page上的示例包含以下代碼,我正在努力理解;

var xml = "<rss version='2.0'><channel><title>RSS Title</title></channel></rss>", 
    xmlDoc = $.parseXML(xml), 
    $xml = $(xmlDoc), 
    $title = $xml.find("title"); 

特別是第3行;

$xml = $(xmlDoc) 

這是幹什麼的?這種語法形式是否有一個我可以通過Google找到的名稱?

另外,在上面的代碼中,它們似乎使用了包含帶有美元符號的jQuery對象的前綴變量的約定。但是,如果是這種情況,那麼第二行中的變量xmlDoc應該不是$xmlDoc而是?

+0

語法沒有什麼特別之處。名爲'$ xml'的變量被賦值爲調用函數'$'的結果,並將變量'xmlDoc'作爲參數。它與'a = f(b)'的語法相同。 「 – hvd 2012-08-17 10:11:11

+0

」應該不是第二行中的變量「xmlDoc」是「$ xmlDoc」,而不是「 - 也許作者想使用'xml' /'$ xml',但'xml'已經用於字符串。但沒有什麼是強制性的。 – pimvdb 2012-08-17 10:13:34

+0

@ hvd那麼這條線是做什麼的? – 2012-08-17 18:01:55

回答

6

它創建一個基於上面指定的xml的jQuery對象,使您可以使用jQuery的方法來查找節點並操作它們。

+0

不是上一行'xmlDoc = $ .parseXML(xml)'返回一個jQuery對象嗎?上一行返回的是什麼? – 2012-08-17 18:05:20

+0

$ .parseXML(xml)返回一個xml文檔,而不是一個jQuery對象 – Asciiom 2012-08-26 08:04:10

+0

@Jeroen moons在這個問題中,你能告訴我嗎?爲什麼所有四行都用逗號分隔(單行)?這是不工作時,替換,與; ... :( – 2013-07-15 11:14:23

0

它是由一個普通對象構造一個jQuery對象。通過這樣做,你可以在其上使用jQuery方法。

+0

我不明白。什麼是「jQuery方法」? – 2012-08-24 23:05:36

1

變量開頭的$符號純粹只是用於命名約定(jquery對象)。這是一種提醒你這個變量是一個jquery對象的方法,因此可以調用它調用find()等函數。

$.parseXML(xml)不創建jQuery對象,它只是使用jQuery來解析XML。

+0

所以你的意思是說'var jqXmlObj = $(xmlDoc)'是可能的,它與$ xml = $(xmlDoc)相同。 – 2013-09-11 14:39:10

+0

從上面的jqXmlObj的手段== $ xml ??? – 2013-09-12 07:32:26

+1

@KanagaveluSugumar是的,theres沒有什麼特別的東西在你的變量名中有一個美元符號''xml'與'foo'或'sau $ age'沒有什麼不同。 – Curt 2013-09-12 09:42:07