我很难获得元素的父ID。
$(function(){
$("#elem-132224").append("<button class='sum'>+</button><button>-</button>")
$(".sum").click(function(){
alert($(this).attr('id'));
})
为什么不工作?
答案 0 :(得分:4)
它不起作用,因为该按钮没有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>
所在的元素),你可以在jquery中使用parent()
:
$(function(){
$("#elem-132224").append("<button class='sum'>+</button><button>-</button>");
$(".sum").click(function(){
alert($(this).parent().attr('id'));
});
答案 1 :(得分:3)
您没有在按钮html中添加id
属性。
更改
$("#elem-132224").append("<button class='sum'>+</button><button>-</button>")
要
$("#elem-132224").append("<button class='sum' id='someid'>+</button><button>-</button>")
答案 2 :(得分:1)
您的元素没有ID,因此(不出所料)您无法显示它。
请注意,无需再次调用jQuery来获取ID(一旦分配了ID)。它是元素本身的属性,它作为this
传递给事件处理程序:
$('.sum').click(function() {
alert(this.id);
})
或者如果您想获得父母的身份证明 - this.parentNode.id