2010-03-15 83 views
5

這是一個有效的jQuery語法:$('#id')[0];

回答

4

要檢索從一個jQuery對象的單個元件:

$("div")[0] 

其是短爲:

$("div").get(0) 

甲jQuery對象可以被大量用作陣列,因爲它也支持的屬性length但是如果你想要一個實際的陣列:

var arr = $("div").get(); 
1

是的,它是有效的。它通過選擇器檢索匹配元素數組的第一個元素。由於您通過id選擇了應該在DOM中唯一的選擇器,所以通常最多隻能返回一個元素。但是,如果沒有元素匹配,這段代碼將失敗。

+0

時使用此語法

例如代碼不會很快失敗的是,它返回'undefined'。 – Kobi 2010-03-15 07:28:39

3

是的,但#id無論如何都會給你一個單獨的對象(最多)。
此外,請注意,[0]將爲您提供DOM元素,而不是jQuery對象,因此如果不重新包裝它,就無法使用jQuery的函數。

1

你不必d像這樣。在一個正確有效的文檔中,只有一個元素帶有一個id。所以document.getElementById將只返回一個元素。

對於任何其他選擇,你可以使用類選擇

$(".classname")[0]