我有一个添加新 div 的声明:
$('#dates').append('<div class="'+classname+'">'+dd+'<br /><span class="month_selector">'+dm+'</span></div>');
但我不仅想创建元素,还想为其分配 on('click') 动作。当然我可以添加生成的 id 然后通过这个 id 访问创建的元素,但我觉得有更漂亮的解决方案。
是吗?
我有一个添加新 div 的声明:
$('#dates').append('<div class="'+classname+'">'+dd+'<br /><span class="month_selector">'+dm+'</span></div>');
但我不仅想创建元素,还想为其分配 on('click') 动作。当然我可以添加生成的 id 然后通过这个 id 访问创建的元素,但我觉得有更漂亮的解决方案。
是吗?
你不需要添加一个 id 然后让 jQuery 解析一个选择器来查找元素。你可以直接这样做:
$('#dates').append(
$('<div class="'+classname+'">'+dd+'<br /><span class="month_selector">'+dm+'</span></div>')
.click(function(){
// handle click
})
);
你可以使用 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");
});