我有一个声明添加了一个新的div:
$('#dates').append('<div class="'+classname+'">'+dd+'<br /><span class="month_selector">'+dm+'</span></div>');
但我不仅要创建元素,还要为其分配('click')动作。 当然我可以添加生成的id然后通过这个id访问创建的元素,但我觉得还有更漂亮的解决方案。
是吗?答案 0 :(得分:11)
您不需要添加id,然后让jQuery解析选择器以找到该元素。你可以直接这样做:
$('#dates').append(
$('<div class="'+classname+'">'+dd+'<br /><span class="month_selector">'+dm+'</span></div>')
.click(function(){
// handle click
})
);
答案 1 :(得分:3)
你可以使用jquery ON ..你也可以使用类选择器代替id :),如$(".classname")
$('#dates').append('<div class="'+classname+'">'+dd+'<br /><span class="month_selector">'+dm+'</span></div>');
$('#dates').on('click','.'+classname, function(){
alert("on div click");
});
$('#dates').on('click','.month_selector', function(){
alert("on SPAN click");
});