jQuery在選擇元素時總是返回數組(當然如果至少存在一個元素)?例如:jQuery總是返回數組嗎?
$('#Myelement')
$('div')
$('tbody')
如果選擇器是ID,該怎麼辦? 如果選擇器是一個元素但只有一個發生了什麼呢?
jQuery在選擇元素時總是返回數組(當然如果至少存在一個元素)?例如:jQuery總是返回數組嗎?
$('#Myelement')
$('div')
$('tbody')
如果選擇器是ID,該怎麼辦? 如果選擇器是一個元素但只有一個發生了什麼呢?
即使沒有與選擇器匹配的元素,jQuery函數總是返回一個jQuery對象(即基於數組)。
這樣,即使沒有匹配的元素,您也可以始終調用一個應該影響找到的元素的方法。如果jQuery對象不包含任何元素,它將不會執行任何操作。
如果您需要知道jQuery對象是否包含任何元素,您可以使用length
屬性。
因爲$([selector])
就像是元素搜索的$.find([selector])
的快捷方式。
由於您在搜索而不是「選擇結果」,因此使用jQuery
函數執行的任何操作都可能會返回一個或多個結果。
在我看來,你的第二個陳述不是一個好的解釋,因爲這不是爲什麼jQuery返回一個數組。這是因爲$()找到匹配給定選擇器的元素,所以你不能期望元素有一些id,但是包含元素的結果包含一些id。 –
@MatíasFidemraizer:第二段不是解釋爲什麼這些方法返回一個數組,這是對你如何使用它的解釋。恐怕我不明白你提供的解釋是什麼意思。 – Guffa
但是,當我做$('td')[0] .html('hi')',它給了我一個例外,它說索引沒有'.html'方法,這意味着數組上的元素返回jQuery不是jQuery對象的一部分。我錯了嗎? – dpp