以下工作正常并显示按钮的 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?
最佳答案
您必须添加 this
到 function
当你调用它时,如 <div id="button1" onclick="pickedID(this)">Edit</div>
然后我们可以像下面这样使用它:
function pickedID(obj) {
var buttonID = $(obj).attr('id');
alert(buttonID);
}
所以在这种情况下,obj
在 function pickedID(obj)
指this
来自 onclick="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>
关于javascript - Jquery - 获取点击的DIV元素的ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57308465/