首页 > 解决方案 > Jquery - 获取单击的 DIV 元素的 ID

问题描述

以下工作正常,并显示按钮的 ID:

<input class="edit" type="button" value="Edit" id="button1">

脚本

$(".edit").click (function(){
    var buttonID = $(this).attr('id');
    alert(buttonID);
}

但这并没有将 ID buttonID 设为未定义:

<div id="button1" onclick="pickedID()">Edit</div>

脚本

function pickedID() {
    var buttonID = $(this).attr('id');
    alert(buttonID);
}

为什么会这样,有没有办法像我试图做的那样获取 Div ID?

标签: javascriptjquery

解决方案


您必须在调用它时添加thisfunction<div id="button1" onclick="pickedID(this)">Edit</div>

然后我们可以像下面这样使用它:

function pickedID(obj) {
    var buttonID = $(obj).attr('id');
    alert(buttonID);
}

所以在这种情况下,objinfunction pickedID(obj)指的是thisfromonclick="pickedID(this)"

演示

function pickedID(obj) {
    var buttonID = $(obj).attr('id');
    alert(buttonID);
}

$(".edit").click(function(){
    var buttonID = $(this).attr('id');
    alert(buttonID);
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input class="edit" type="button" value="Edit" id="button1">


<div id="button2" onclick="pickedID(this)">Edit</div>


推荐阅读