我正在将一个json feed解析成div,这部分现在还可以。 但每个条目都有一个表单,每次刷新时表单都会消失。
我想要的是仅在新内容前加上如果json Feed上有新内容,那么我可以保留每个条目的表单内容。
我目前的代码:
$(function () {
function reload (elem, interval) {
var $elem = $(elem);
var $original = $elem.html();
$.ajax({
cache : false,
url : 'ajax.php',
type : 'get',
success : function (data) {
var servers = JSON.parse(data);
var res = '';
for(var i = 0; i<servers.length; i++){
res = res + '<div id="' + servers[i].serverid +'" class="alert alert-success" role="alert"><strong>' + servers[i].serverid +'</strong> ' + servers[i].servername +'<input></div>';
}
$('#feed').empty().prepend(res);
setTimeout(function () {
reload(elem, interval)
}, interval);
}
});
}
reload('#feed', 5000);
});
答案 0 :(得分:0)
如果是这种情况,那么您可以使用名为data-serverid
或data-somename
的其他属性,
<div id="something-unique" data-serverid="servers[i].serverid"></div>
当你在循环中迭代时,检查该值,
//Search Whole page for element having data-serverid="somevalue"
if($(document).find("[data-serverid='" + servers[i].serverid + "']").length==0){
//Append that value else do nothing
}
并且,将其更改为,
$('#feed').prepend(res);