获取元素的父ID

时间:2012-12-13 11:02:44

标签: javascript jquery html identifier

我很难获得元素的父ID。

$(function(){
$("#elem-132224").append("<button class='sum'>+</button><button>-</button>")
$(".sum").click(function(){
    alert($(this).attr('id'));
})

为什么不工作?

3 个答案:

答案 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