2012-03-20 99 views
3

這應該是很簡單的一個特定元素的ID,但我阻止這個....如何獲得匹配jQuery選擇

比方說,爲便於討論,我們希望prepend()它的ID到與class「class_name」匹配的每個元素。我認爲正確的做法是這樣的:

$('。class_name')。prepend($(this).attr('id'));

但它不起作用。它看起來像$(this)只在事件callabacks中可用。但是,我如何獲得每個特定元素的ID(或任何其他屬性)?

非常感謝!

+0

我不明白你想在這裏做什麼。 Prepend是創建新的DOM元素,而不是屬性。你想爲匹配的對象設置一個新的「id」屬性嗎?你想添加一個等於元素ID的類嗎? – haltabush 2012-03-20 22:51:02

+0

這是一個人爲的例子。假設我想預先讀取「我的ID是」。我的問題是,當我使用匹配多個元素的選擇器時,我想要獲取每個匹配元素的ID。這更清楚嗎? – MarkT 2012-03-20 22:54:42

回答

5

你可以使用.each()

$('.class_name').each(function(index, element){ 
    $(element).prepend($(element).attr('id')); 
}); 

例子: http://jsfiddle.net/d8Uj8/

+0

啊哈!這看起來像我想要的。非常感謝! – MarkT 2012-03-20 22:55:27

+0

很高興爲您效勞!如果你願意,你可以接受和/或upvote答案。看看常見問題解答:http://stackoverflow.com/faq#howtoask – Alex 2012-03-20 23:02:34

+0

接受。不能投票'原因顯然我沒有足夠的信譽:) – MarkT 2012-03-20 23:15:34

0

使用each()

$('.class_name').each(function(){ 
    var id = this.id; 
    $(this).prepend('<span>' + id + '</span>'); 
}); 

而且,最好是把它包在一個標籤而不是展開的文本節點在四周浮動。