2013-07-30 82 views
0

我有一些潛水,每次潛水的ID都像波紋管一樣。 我想當用戶點擊我的HTML首先找到點擊的元素是div和之後比想要獲得選定div的id和內部HTML。如何在html上找到點擊元素?

我不想在我的div元素上使用像onclick()和..這樣的方法,這是可能的jQuery或一些?

<div id="a2">123</div> 
<div id="a1">456</div> 

我用這個代碼,但沒有工作

$('html').click(function() { 
    var selectedelement = jQuery('div'); 
}); 
+1

爲什麼你將處理程序附加到html元素,當你想要捕捉點擊的div?你有沒有嘗試過使用代表團?如果它們不是動態生成的,可以將處理程序附加到實際的div上嗎? – cernunnos

回答

2
$('div').click(function() { 
    var selectedelement = $(this).attr('id'); 
    alert(selectedelement); 
}); 
3
$('.someClassForYourDivs').click(function() { 
    var selectedelement = $(this); 
}); 

this jQuery中的值通常設置到任何對象的情況下被解僱的。另外,正如cernunnos指出的,你應該添加這個點擊處理程序到你想要的特定元素。給他們分配一個班,以使這個變得簡單。

2

您的選擇器正在向「HTML」節點添加點擊事件。你想要做的f9ollowing如果所有你關心的是div的,我會建議,因爲選擇會得到任何DIV:

$('div').click(function() { 
    var selectedelement = this; 
}); 

如果你只關心與ID的「A1」 anbd「A2」,做DIV以下:

$('#a1,#a2').click(function() { 
     var selectedelement = this; 
    }); 
0

你可以使用委託,效果很好,如果你是動態添加的div頁面:

$("html").on("click", "div", function() { 
    console.log($(this).attr("id")); 
}); 

看到這個小提琴:http://jsfiddle.net/DGeF9/

相關問題