2010-08-15 88 views
51

我想這讓每個元素的idclass而是它提醒單獨的類的每一個名字,所以class="test"它提醒:test ...如何獲得任何意見每個元素idclass的一部分是讚賞,因爲我似乎無法弄清楚這一點..謝謝。jQuery,使用.each獲取類中每個元素的ID?

$.each('test', function() { 
    alert(this) 
}); 

回答

120

試試這個,用類的實際名稱替換.myClassName(但保留期內開頭)。

$('.myClassName').each(function() { 
    alert(this.id); 
}); 

所以如果班級是「測試」,你會做$('.test').each(func...

這是.each()的特定形式,它遍歷一個jQuery對象。

您正在使用的表格迭代任意類型的集合。所以你基本上迭代了一組字符t,e,s,t

使用形式的$.each(),你需要做的是這樣的:

$.each($('.myClassName'), function() { 
    alert(this.id); 
}); 

...這將有相同的結果上面的例子。

+1

謝謝你..現在偉大的作品 – Rick 2010-08-15 01:55:34

+0

@瑞克 - 不客氣。很高興它的作品。 :o) – user113716 2010-08-15 01:57:57

22

patrick dw的回答是對的。

對於踢腿和咯咯我以爲我會發佈一個簡單的方法來返回所有ID的數組。

var arrayOfIds = $.map($(".myClassName"), function(n, i){ 
    return n.id; 
}); 
alert(arrayOfIds); 
+0

確實'$ .map()'是非常好的,如果需要一個數組。儘管如果我可以表達我個人的偏見,我會做'n.id',而不是爲每次迭代創建一個新的jQuery對象,因爲它更加高效。只是想我會提到它。 :o) – user113716 2010-08-15 01:49:50

+0

你是對的帕特里克。不需要額外的$()。我編輯過它。 – jessegavin 2010-08-16 00:55:33