1

我用 .append() 方法生成了一些 div。

代码如下所示:

$("#someDiv").prepend("<div id='someId' class='myClass'></div>"):
$("#someDiv").prepend("<div id='someId2' class='myClass'></div>"):

这很好用,现在,我想使用那个 div id。

我正在尝试这样做:

$(".myClass").click(function(){
    alert($(this).attr('id'));
})

但是,它不起作用,请帮助我。

4

2 回答 2

4

如果元素是动态生成的,您可能需要将事件委托给绑定处理程序时实际存在的元素,例如:

$(function() {
    $("#someDiv").on("click", ".myClass", function(){
        alert(this.id);
    });
});

你需要用分号替换你末尾的冒号才能使这些工作。

小提琴

于 2012-09-22T13:14:32.687 回答
0

问题可能是因为您在实际添加 div 之前将单击事件绑定到“myClass”。尝试在添加新 div 的代码之后放置单击事件代码,如下所示

$("#someDiv").prepend("<div id='someId' class='myClass'></div>"):
$("#someDiv").prepend("<div id='someId2' class='myClass'></div>"):

$(".myClass").click(function(){
    alert($(this).attr('id'));
})
于 2012-09-22T13:22:17.423 回答