You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用jQuery单独获取被点击子div的ID?

解决点击子元素时获取独立ID的问题

这个问题的核心是事件冒泡——当你点击divFour时,点击事件会从这个子元素向上传递到它的所有父元素(divThree、divTwo、divOne)。如果这些父元素也绑定了点击事件,就会导致你误以为$(this).attr('id')返回了父元素的ID,其实是多个事件被依次触发了。

下面给你两种针对性的解决方案:

方案一:直接给目标元素绑定事件

如果只有divFour需要响应点击事件,那直接给它单独绑定点击事件就好,这样$(this)就只会指向divFour,自然能拿到它的独立ID:

$('#divFour').click(function() {
    const targetId = $(this).attr('id');
    console.log(targetId); // 输出:divFour
});

方案二:处理事件冒泡(多元素绑定场景)

如果你的所有div都绑定了点击事件,但只想获取实际被点击的那个元素的ID,可以用以下两种方式:

方式1:阻止事件冒泡

通过event.stopPropagation()阻止事件向上传递,这样点击子元素时,父元素的点击事件不会被触发:

$('div').click(function(event) {
    event.stopPropagation(); // 阻止事件冒泡到父元素
    const targetId = $(this).attr('id');
    console.log(targetId); // 点击哪个div就输出对应的ID
});

方式2:使用event.target获取原始触发元素

event.target会返回实际被点击的那个元素,和绑定事件的元素无关,不管冒泡与否都能拿到正确的目标ID:

$('div').click(function(event) {
    const targetId = $(event.target).attr('id');
    console.log(targetId); // 输出实际点击的元素ID
});

内容的提问来源于stack exchange,提问作者Kesav Sundar M

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:12:38