2010-11-01 56 views
1

假設查詢是這樣的。DOM元素數組上的jQuery選擇行爲

var result = $(".ui-th-column"); 

這個查詢在我的情況下將返回一個對象數組,因爲有一個匹配選擇器提供的數字。

如果我然後去的東西。

result.attr("myAttributeName") == "MyExpectedValue" 

我收到結果。

我的問題是這樣的。 jQuery採取的行動是什麼?在這種情況下,顯然不同的dom元素有不同的屬性,但它返回一個值。它是否只是返回第一個元素的值?

作爲這個問題的後續;假設我現在擁有我想要採取行動的一系列元素,並假設我希望將一個事件(如點擊)綁定到所有元素。我是否需要使用每個操作,或者我可以簡單地去

result.click(function() {}); 

和我所有的元素將被連接起來? 我試圖谷歌這個,但不知道要使用什麼條款。

回答

4

是的,它是隻得到在attr的情況下,第一個元素。

描述:獲取匹配元素集中第一個元素的屬性值。

來源:http://api.jquery.com/attr/

不,你不必對click方法調用each綁定事件處理程序,它會在處理程序附加到集合中的所有元素。

看看在bind方法。

說明:附加的處理程序,爲元素的事件。

click的方法是速記...

jQuery庫提供了一種用於結合標準的事件類型,如.click().bind('click')快捷方式的方法。