0

要素の親IDを取得するのに問題があります。

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

なぜ機能しないのですか?

4

3 に答える 3

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親(その中にある要素)を取得したい場合は、jqueryで<button>使用できます。parent()

$(function(){
  $("#elem-132224").append("<button class='sum'>+</button><button>-</button>");
  $(".sum").click(function(){
    alert($(this).parent().attr('id'));
});
于 2012-12-13T11:04:19.310 に答える
3

idボタンのhtmlに属性を追加していません。

変化する

$("#elem-132224").append("<button class='sum'>+</button><button>-</button>")

$("#elem-132224").append("<button class='sum' id='someid'>+</button><button>-</button>")
于 2012-12-13T11:03:47.733 に答える
1

要素にはIDがないため、(当然のことながら)それを表示することはできません。

IDを取得するためにjQueryを再度呼び出す必要はないことに注意してください(IDを割り当てた後)。これは、thisイベントハンドラーに渡される要素自体のプロパティです。

$('.sum').click(function() {
    alert(this.id);
})

または、親のIDを取得したい場合-this.parentNode.id

于 2012-12-13T11:05:45.423 に答える