Jquery 如何在html上查找单击的元素?

Jquery 如何在html上查找单击的元素?,jquery,Jquery,我有一些潜水,每个潜水都有它的id像贝娄。 我想当用户在第一次点击我的HTML时,找到点击的元素是div,之后再点击,然后得到所选div的id和内部HTML 我不想使用像onclick()和..这样的方法。。在我的div元素上,jquery或其他什么东西可以采用这种方式吗 <div id="a2">123</div> <div id="a1">456</div> jQuery中this的值通常设置为触发事件的对象。此外,正如Cernunos指出的

我有一些潜水,每个潜水都有它的id像贝娄。 我想当用户在第一次点击我的HTML时,找到点击的元素是div,之后再点击,然后得到所选div的id和内部HTML

我不想使用像onclick()和..这样的方法。。在我的div元素上,jquery或其他什么东西可以采用这种方式吗

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

jQuery中
this
的值通常设置为触发事件的对象。此外,正如Cernunos指出的,您应该将这个点击处理程序添加到您想要的特定元素中。为它们分配一个类以简化此操作。

您的选择器正在向“HTML”节点添加一个单击事件。如果您只关心div,那么您需要执行以下操作,我建议您使用div,因为选择器将获得任何div:

$('div').click(function () {
    var selectedelement = this;
});
如果您只关心ID为“a1”和“a2”的DIV,请执行以下操作:

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

您可以使用委派,如果您将div动态添加到页面中,委派效果会很好:

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

请看这篇文章:

当您想要捕获div上的点击时,为什么要将处理程序附加到html元素?你试过使用授权吗?如果不是动态生成的,可能会将处理程序附加到实际的div?
$('#a1,#a2').click(function () {
        var selectedelement = this;
    });
$('div').click(function () {
    var selectedelement = $(this).attr('id');
    alert(selectedelement);
});
$("html").on("click", "div", function() {
    console.log($(this).attr("id"));
});