javascript - 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?
解决方案
您必须在调用它时添加this
,function
如<div id="button1" onclick="pickedID(this)">Edit</div>
然后我们可以像下面这样使用它:
function pickedID(obj) {
var buttonID = $(obj).attr('id');
alert(buttonID);
}
所以在这种情况下,obj
infunction pickedID(obj)
指的是this
fromonclick="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 - 功能组件中的 PropTypes 不起作用并且不会抛出错误
- c# - 批处理 Azure ServiceBusTrigger 中断 Application Insights 操作 ID 到父 ID 连接
- tableau-api - Tableau 中五位或更多位数字的分隔符
- sql - SQL Server 2008:如何根据两个条件求和?
- python - Django:显示上传图片的问题
- python - macOS Catalina+ 上的 Python3 冲突动态库依赖问题
- mysql - 在MYSQL中将字符串从CSV转换为日期
- azure-iot-edge - IoT Edge 的 Zscaler/SSL 检查代理解决方案
- java - 我如何在这里捕获 InputMismatchException?
- javascript - 使用唯一数据填充表格单元格 - QA 自动化