jquery附加元素

时间:2010-07-09 14:50:22

标签: jquery

我已将div添加到我的身体

$('<div id="container"><img class="large" src="'+ img +'" /><a href="#">previous</a> | <a href="#" class="next">next</a></div>').appendTo('body').hide().fadeIn();  

但是如果我尝试像

这样的话,我就无法与我添加的元素互动
$('a.next').click(function(){
    $(this).remove();
    });

它不起作用..我如何让jquery注意到附加的元素?

2 个答案:

答案 0 :(得分:4)

使用.live()识别与选择器匹配的当前和未来元素,如下所示:

$('a.next').live('click', function(){
  $(this).remove();
});

为什么它目前不起作用?这部分:$('a.next')说“找到存在的<a class="next">”,然后对他们做点什么......但是那些你动态添加的链接当时不存在 ,它们是后来创建的,所以你需要一种不同的方法。

答案 1 :(得分:2)

你需要

  • 推迟点击处理程序的附件,直到将a标记插入文档后
  • 或使用jquery.delegate或jquery.live以便您无需关心