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

sve*_*ija 11 jquery append

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

<div class="tags">
     <a href="#">myLink</a>
</div>
Run Code Online (Sandbox Code Playgroud)

我有功能删除该超链接,如果用户点击它.

$('.tags a').click(function() {
    $(this).remove();
    return false;
});
Run Code Online (Sandbox Code Playgroud)

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

$('.tags').append('<a href="#">newLink</a>');
Run Code Online (Sandbox Code Playgroud)

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

kuf*_*ufi 5

您必须使用实时功能:

$(".tags a").live("click", function() {
    // ...
});
Run Code Online (Sandbox Code Playgroud)

因为您是在初始加载后添加链接的,所以标准的click事件不会绑定到动态添加的链接。

  • **请注意**自1.7起,[`live()`](http://api.jquery.com/live)已贬值。从现在开始,建议使用[`on()`](http://api.jquery.com/on)。翻译后的调用将是`$(document).on('click','.tags a',function(){/ * foo * /});` (21认同)