10

我有一个添加新 div 的声明:

$('#dates').append('<div class="'+classname+'">'+dd+'<br /><span class="month_selector">'+dm+'</span></div>');

但我不仅想创建元素,还想为其分配 on('click') 动作。当然我可以添加生成的 id 然后通过这个 id 访问创建的元素,但我觉得有更漂亮的解决方案。

是吗?

4

2 回答 2

13

你不需要添加一个 id 然后让 jQuery 解析一个选择器来查找元素。你可以直接这样做:

$('#dates').append(
    $('<div class="'+classname+'">'+dd+'<br /><span class="month_selector">'+dm+'</span></div>')
    .click(function(){
      // handle click
    })
);
于 2013-05-24T07:33:53.553 回答
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");
});
于 2013-05-24T07:36:31.413 回答