2011-10-24 51 views
2

我想從<img>標記中獲取id屬性的值,即1_4如何使用jQuery選擇此id屬性

<a class="toggle" href="#toggle"> 
    <img src="tick.png" id="1_4" alt="No"> 
</a> 

我正在使用jQuery代碼。

$('.toggle').live('click', function() { 

}); 

如何在jQuery代碼中選擇id屬性的值。

謝謝。

+0

注:啓動和ID與一些​​不符合W3C標準 – meo

+0

是什麼呢?我需要分配和獲取一些值,這就是爲什麼我使用'id'這可能是錯誤的目的,你認爲我應該使用隱藏域嗎? –

+0

我認爲它會更好,避免錯誤的屬性...(如alt =「否」對我來說聽起來不對;))如果您使用html5,則可以使用數據屬性 – meo

回答

3
$('.toggle').live('click', function() { 
    var id = $(this).find('img').attr('id'); 
}); 
+0

這工作正常,謝謝 –

2
$('.toggle').live('click', function() { 
    var id = $(this).find('img').attr('id'); 
}); 
+0

我有不同的動態ID的多個圖像,該代碼只是鞋的最後一個ID。 –

+0

是的,我修好了:) –

7
$('.toggle').live('click', function() { 
    var id = $('img', this).prop('id'); 
}); 
+0

ID是屬性,而不是屬性。 (雖然也可以通過一個) – ThiefMaster

+2

@ThiefMaster爲什麼你會使用'.getAttribute('id')''如果你只需要'.id'?函數調用通常比屬性查找或數組項查找慢得多。 –

+2

+1,唯一的答案是使用'prop'而不是'attr'。 @ThiefMaster:屬性查找比屬性查找更快 - 這對jQuery來說是雙倍的,因爲它在後臺用'attr'做了很多工作來解決舊的瀏覽器問題。 –

1
$('.toggle').live('click', function() { 
    alert($(this).find('img:eq(0)').attr('id')); 
}); 
+0

不需要':eq(0)','.attr()'會自動返回第一個匹配元素的'id'。 –

1

這是你所需要的:

$('.toggle').find('img').attr('id'); 

看到它的工作here

而且,看看在jQuery Selectors :)

相關問題