2010-05-12 18 views
6

給出一個div如:jQuery的ATTR - 返回多類不只是第一

<div class="widget block dock clock">yada yada</div> 

我想成爲安倍使用jQuery的$(div).attr('class');

發現的所有類,但jQuery的.attr只返回小部件。有沒有辦法讓JQUERY返回爲元素定義的所有類?

感謝

+2

jQuery'attr'應該返回整個字符串。你確定你的代碼是正確的嗎? – 2010-05-12 16:47:44

+0

你們搖滾樂隊 – AnApprentice 2010-05-12 17:47:49

回答

15

當前您已經將工作是什麼,here's a quick demo

alert($("div").attr("class"));​ //alerts "widget block dock clock" 

東西要記住的是,.attr()返回該屬性上第一個匹配元素,從文檔:

重要的是要注意方法獲取屬性值僅匹配集合中的第一個元素。要單獨獲取每個元素的值,我們需要依賴循環構造,如jQuery的.each()方法。

因此,舉例來說,這樣的事情:

<div class="widget">yada yada</div> 
<div class="widget block dock clock">yada yada</div>​ 

將提醒只"widget",因爲這是該類的第一匹配的元素。

2

.attr('class')將返回爲該元素定義的所有類。視覺風格不僅由類定義,而且由CSS屬性定義。您可能還需要用的.css輪詢他們( 'PARAM名')

5

尼克使用。每次提到() ...

...但。 ..an更簡單的方法可能是通過.split迭代()

(this).attr("class").split(" ") 

...那麼你只是處理一個普通老 javascript字符串數組