我有一个像这样的HTML
<div class='click' id='1'>
one
<div class='click' id='2'>
two
<div class='click' id='3'>
three
<div class='click' id='4'>
four
<div class='click' id='5'>
five
</div>
</div>
</div>
</div>
如果我有并点击类上的事件,有任何方法可以返回我点击的id 如 $(&#39;。点击&#39;)。点击(函数(){ 警告(&#39; id,我点击&#39;)
}); 如果我点击三个我总是得到一个和两个三的身份。
答案 0 :(得分:3)
当然,只需这样做:
$('.click').click(function(e){ //e=event
alert($(this).attr("id")); // alert clicked element's id
e.stopPropagation(); // stop event propagation so it doesnt propagate to click 1 and click 2
})
更新:正如Felix Kling所述,您可以直接访问de DOM并使用:
alert(this.id);
答案 1 :(得分:2)
演示:http://jsfiddle.net/tzJUN/使用this.id
http://jsfiddle.net/c65x9/
如果你热衷于:jQuery attr vs prop?
停止传播将阻止事件click
事件冒泡DOM树,防止任何父处理程序被通知事件。
API:
.stoppropagation
- http://api.jquery.com/event.stoppropagation/ <强>代码强>
$(document).ready(function () {
$('.click').click(function (event) {
event.stopPropagation();
alert($(this).prop("id")); //<< --- or this.id
});
});
答案 2 :(得分:0)
$('.click').click(function(e){
$(this).attr("id");
alert($(this).attr("id"));//here you can see your clicked id
})
答案 3 :(得分:0)
是。它的简单
$(document).ready(function(){
$('.click').click(function(){
var ID=$(this).attr('id');
alert(ID);
//This ID varible will return ID of the Div Clicked
});
});