我用.append()方法生成了一些div。
代码看起来像这样:
$("#someDiv").prepend("<div id='someId' class='myClass'></div>"):
$("#someDiv").prepend("<div id='someId2' class='myClass'></div>"):
效果很好,现在,我想使用divs id。
我正试图这样做:
$(".myClass").click(function(){
alert($(this).attr('id'));
})
但是,它不起作用,请帮助我。
答案 0 :(得分:4)
如果元素是动态生成的,您可能需要将事件委托给绑定处理程序时实际存在的元素,如:
$(function() {
$("#someDiv").on("click", ".myClass", function(){
alert(this.id);
});
});
你需要用分号替换前面的冒号才能使它们起作用。
答案 1 :(得分:0)
问题可能是因为在实际添加div之前将click事件绑定到“myClass”。尝试将click事件代码放在代码之后,以添加像此
这样的新div$("#someDiv").prepend("<div id='someId' class='myClass'></div>"):
$("#someDiv").prepend("<div id='someId2' class='myClass'></div>"):
$(".myClass").click(function(){
alert($(this).attr('id'));
})