JQuery - 使用.append而不是替换.innerHTML来添加内容?

3
以下是一个检索用户旧墙帖的函数,每次检索16个,并将每个16块附加到名为“sw1”的 DIV 的当前列表末尾。
它工作得很好,除非当前存在一个正在播放视频/嵌入式对象的墙帖。 当我们在 sw1 中的对象播放过程中单击调用下面的函数的按钮时,下面的函数似乎会导致删除 sw1 的整个内容,然后重新转储。
是否可能修改下面的函数,使其仅将新数据附加到 sw1 的末尾,而不是替换整个内容,杀死当前正在播放的任何对象?
function fetch_older_wallposts(u,lim){
var xhr = getXMLHttpRequest();

xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {

//document.getElementById( 'sw1' ).innerHTML.append( xhr.responseText );
document.getElementById( 'sw1' ).innerHTML += xhr.responseText;
}else{
document.getElementById( 'oaps_loading' ).innerHTML = 'loading';
}
};

xhr.open("POST", "script.php?u="+u+"&lim="+lim, true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.send(null);
}

希望大家能提供任何形式的协助或指导....

感谢大家提供的有用评论!


4
您实际上并没有使用jQuery。 - SLaks
2个回答

6
如果您要使用jQuery,为什么不全程使用它,而是混合和匹配样式:
function fetch_older_wallposts(u,lim){
    $('#oaps_loading').html('loading');
    $.ajax({url: 'script.php', data: { u: u, lim: lim}, type: 'POST', 
        success: function(data) {
            $('#sw1').append(data);
        });
}

3

调用 $('#sw1').append(xhr.responseText);


我不熟悉这个语法,伙计,我是把它添加到函数中还是怎么做?! - Donal.Lynch.Msc
这是常规语法,它调用了一个名为 $ 的函数。请参阅文档。您可以使用此行代码来替代设置 innerHTML - SLaks
1
如果您不熟悉这种语法,那么为什么会标记为jQuery(除了它在标题中)? @DJDonaL3000 - Ross Snyder
好的,那么你的函数中的“html”是指我的“xhr.responseText”吗? - Donal.Lynch.Msc

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接