我在获取元素的父 ID 时遇到了麻烦。
$(function(){
$("#elem-132224").append("<button class='sum'>+</button><button>-</button>")
$(".sum").click(function(){
alert($(this).attr('id'));
})
为什么不工作?
我在获取元素的父 ID 时遇到了麻烦。
$(function(){
$("#elem-132224").append("<button class='sum'>+</button><button>-</button>")
$(".sum").click(function(){
alert($(this).attr('id'));
})
为什么不工作?
它不起作用,因为该按钮没有id
. 它只有class
. 你可以这样写:
$(function(){
$("#elem-132224").append("<button id='my-id-123' class='sum'>+</button><button>-</button>");
$(".sum").click(function(){
alert($(this).attr('id'));
});
如果要获取父级id
(其中的元素<button>
),可以parent()
在 jquery 中使用:
$(function(){
$("#elem-132224").append("<button class='sum'>+</button><button>-</button>");
$(".sum").click(function(){
alert($(this).parent().attr('id'));
});
您没有id
在按钮 html 中添加属性。
改变
$("#elem-132224").append("<button class='sum'>+</button><button>-</button>")
至
$("#elem-132224").append("<button class='sum' id='someid'>+</button><button>-</button>")
您的元素没有 ID,因此(不出所料)您无法显示它。
请注意,无需再次调用 jQuery 来获取 ID(一旦您分配了 ID)。它是传递this
给事件处理程序的元素本身的属性:
$('.sum').click(function() {
alert(this.id);
})
或者如果你想获得父母的身份证 -this.parentNode.id