使用jquery在单击按钮时获取元素的id
我有一个动态生成的按钮列表,id是在运行时生成的。如何使用JQuery获取已单击按钮的id 下面是js代码使用jquery在单击按钮时获取元素的id,jquery,Jquery,我有一个动态生成的按钮列表,id是在运行时生成的。如何使用JQuery获取已单击按钮的id 下面是js代码 var btn = " <input type='button' id='btnDel' value='Delete' />"; $("#metainfo").append(txt); //set value of $("#btnDel").attr("id", "btnDel" + $("#hid").attr("value")); var btn=”“; $(“#
var btn = " <input type='button' id='btnDel' value='Delete' />";
$("#metainfo").append(txt); //set value of
$("#btnDel").attr("id", "btnDel" + $("#hid").attr("value"));
var btn=”“;
$(“#元信息”).append(txt)//设定值
$(“#btnDel”).attr(“id”,“btnDel”+$(“#hid”).attr(“value”);
发布代码后编辑:
var btn =
$("<input type='button' value='Delete' />")
.attr("id", "btnDel" + $("#hid").val())
.click(function() {
alert(this.id);
});
$("body").append(btn);
var btn=
$("")
.attr(“id”,“btnDel”+$(“#hid”).val())
。单击(函数(){
警报(this.id);
});
$(“正文”)。附加(btn);
对于您的示例,它是这样的:
$("#btnDel").click(function() {
alert(this.id);
});
$("input").click(function() {
alert(this.id);
});
请注意,您不能循环已有的代码,ID必须是唯一的,否则会产生各种副作用,因为它是无效的HTML。如果您想要任何输入的单击处理程序,请更改选择器,如下所示:
$("#btnDel").click(function() {
alert(this.id);
});
$("input").click(function() {
alert(this.id);
});
您应在文档准备就绪(加载)后添加按钮的单击事件:
对于任何元素,无论是按钮还是其他任何元素,我们都可以这样定位它
$(document).click(function(e){
console.log(e.target.id)
})
这里
e.target.id
为您提供了元素的id。@Xulfee这是一个示例,您可以将generatedButton
(不带点)添加到按钮的class
-属性中,用jQuery()查找它。您在问题中发布的代码不起作用(例如,btn变量仅包含一个带有HTML的字符串,如果浏览器呈现该字符串,则会生成一个按钮,而不是按钮本身),但我更新了这个答案,试图帮助您。所有动态按钮都有唯一的ID,您的代码不起作用。@Xulfee-您是在创建按钮之前运行它,还是在创建按钮并设置ID之后运行它?如果是在创建按钮之前,您需要使用.live('click',function(){})
而不是。click(function(){})
添加一个类,比如generatedButton
或者任何你想要的动态创建的按钮,然后你可以使用Jan Willem B的答案:为什么你首先要更改按钮的id?我发现这是一件奇怪的事情…@gsamaras别对他大喊大叫!gsamaras你太棒了