2012-02-29 33 views
0

我有一些動態生成內容的div。我的內容ID添加到類的DIV像這樣:在jquery中獲取類屬性

<div class="div-1"></div> 
<div class="div-3"></div> 
<div class="div-6"></div> 
<div class="div-8"></div> 

如何選擇一個div的ID,因爲我需要它作爲一個PARAM通過AJAX發送。例如我需要獲得1當我點擊一號DIV,3當我點擊第二等

+2

'$(本).attr( '類')' – zzzzBov 2012-02-29 16:00:04

+0

可能重複的[如何獲得一個元素的所有CSS類?](http://stackoverflow.com/questions/9279368/how-to-get-all-css-classes-of-an-element) – 2012-02-29 16:01:15

+0

我認爲你將ID與類混淆。如果您將class =「」切換爲id =「」,那麼我們正在討論ID。你可以綁定$('div')。click(function(){var this_ID = $(this).attr('id); this_ID.replace('div-','');});快速,骯髒,未經測試。 – isotrope 2012-02-29 16:02:26

回答

1
var id = $(this).attr('class').replace('div-', ''); 

甚至簡單

var id = this.className.replace('div-', ''); 

this點的DOM元素,你點擊在點擊處理程序中。

//Here instead of document it is better to specify a parent container of all divs 
$(document).on('click', '[class^="div-"]', function(){ 
     var id = this.className.replace('div-', ''); 
}); 
0

試試這個,記得改變"div"您選擇:

$(document).on("click", "div", function() { 
    var class_elem = $(this).attr("class").split("-"); 
    var n = class_elem[1]; // This is your number 
}); 
+1

你沒有正確使用'on',它和'bind('click',...)'一樣好。這不適用於動態創建的元素。 – ShankarSangoli 2012-02-29 16:10:18

+0

我編輯過它,但我不認爲這與這個問題有關。 – mariogl 2012-02-29 16:14:35

+0

這是一個FYI .. – ShankarSangoli 2012-02-29 16:15:46

0

正確的jQuery的語法是:

$("div").click(function() { 
    var id = $(this).attr('class').replace('div-', ''); 
});