在嵌套的div jquery中按类查找id

时间:2014-05-30 03:59:04

标签: javascript jquery events event-handling mouseevent

我有一个像这样的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;)

}); 如果我点击三个我总是得到一个和两个三的身份。

4 个答案:

答案 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:

<强>代码

$(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
});
});