使用jQuery replaceWith仅在第一次使用时替换DIV的内容

Pau*_*aul 7 javascript jquery replacewith

我正在使用以下jQuery来提取新数据并替换DIV listdata的内容

$(function(){
$('.refresh').click(function(event) {
    event.preventDefault();

    $.ajax({
        url: "_js/data.php",
        success: function(results){
            $('#listdata').replaceWith(results);
        }
    });
});
});
Run Code Online (Sandbox Code Playgroud)

该脚本由页面上的众多链接触发,例如:

<a href="" id="update1" class="refresh">Update 1</a>
<a href="" id="update2" class="refresh">Update 2</a>
Run Code Online (Sandbox Code Playgroud)

由于某种原因,该脚本仅适用于第一次链接.后续单击不会刷新数据.

我已经看过各种修复,但没有任何我可以工作的东西.有什么建议?

Sam*_*fel 29

它看起来像你的问题是使用replaceWith.

您正在删除$('#listdata')第一次调用时匹配的元素replaceWith,因此后续刷新无法找到数据应放在文档中的位置.

你可以试试像

 $('#listdata').empty();
 $('#listdata').append(results);
Run Code Online (Sandbox Code Playgroud)

或像这样链式

 $('#listdata').empty().append(results);
Run Code Online (Sandbox Code Playgroud)