jQuery $(this).remove()在追加后无法正常工作

时间:2012-03-12 10:46:54

标签: jquery append

我有一个class="tags"的div,带有一个预定义的超链接。

<div class="tags">
     <a href="#">myLink</a>
</div>

如果用户点击它,我可以删除该超链接。

$('.tags a').click(function() {
    $(this).remove();
    return false;
});

这适用于预定义的超链接。 如果我在jQuery的帮助下添加其他链接(在页面加载后)

$('.tags').append('<a href="#">newLink</a>');

在这些添加的链接上不会调用删除超链接(单击时)的功能。怎么解决这个问题?

2 个答案:

答案 0 :(得分:5)

您必须使用实时功能:

$(".tags a").live("click", function() {
    // ...
});

由于您是在初始加载后添加链接,因此标准点击事件不会绑定到动态添加的链接。

答案 1 :(得分:0)

您的点击事件仅附加到当前dom元素而不是未来元素。如果要将此事件添加到包含future的所有元素,则必须在jquery中使用live事件。 http://jsfiddle.net/6cGvt/