JQuery追加没有按预期进行

时间:2012-11-30 22:50:37

标签: php jquery html mysql append

我的JQuery脚本有问题。我正在进行2d聊天,人们有像Habbo酒店一样的自己的形象,但是想要移动数字的JQuery脚本就是烦恼。

我认为更容易显示问题: Click here to see the problem

我使用以下脚本来更新数据:

function UpdateRoom() {
    var data = 'roomId='+roomId;

    $.ajax({
        type: "GET",  
        url: "chatfunctions/updateroom.php",
        dataType: 'json',
        data: data,
        success: function(data){

            $.each(data, function(i, data) {
                var temp = parseInt(data.field);
                $('#f' + temp).append('<div class="user" id="'+charId+'" />');
            });
        }
    }); 
}

#f + temp是数字应该放置的字段的id。 charId是该图的id。

然后我每500毫秒调用一次脚本:

window.setInterval(function() {
    UpdateRoom();
}, 500 );

我不确定这是否足够代码和示例供你们帮助我。如果没有,请告诉我是否需要提供更多帮助。我的猜测是它是.append();使用错误的函数,但我不是JQuery的专家。

1 个答案:

答案 0 :(得分:2)

你只是继续追加而不是替换任何东西。

尝试使用.html()或.empty()。

$.each(data, function(i, data) {
    var temp = parseInt(data.field);
    $('#f' + temp).html('<div class="user" id="'+charId+'" />');
});

$.each(data, function(i, data) {
    var temp = parseInt(data.field);
    $('#f' + temp).empty(); // clear out all content
    $('#f' + temp).append('<div class="user" id="'+charId+'" />');
});

不知道您的代码,您可能需要将调用移到每个循环之外的.empty()。