我正在尝试使用JSON格式加载AJAX评论,但问题是只收取评论。
最初负责使用html的所有评论,但在输入新评论时,我必须添加新评论并更新其余评论。
JSON
{'error':'false',
fields:[{'pk':1,'title':'Test Title', 'body':'Test Body'}],
{'votes':20,'cant':{1:20,2:30,3:4}}
}
HTML代码
<ul class="list">
<!-- sample javascript -->
<li class="sample">
<div class="image"><img src="" width="50" height="50"></div>
<div class="rated">
<div class="stars"><span></span></div>
</div>
<div class="user"><a href=""></a></div>
<div class="date"></div>
<div class="body"></div>
</li>
<!-- Suppose we have 10 comments loaded, for initial use html -->
<li>
<div class="image">
<img src="avatar/2092974" width="50" height="50">
</div>
<div class="rated">
<div class="stars"><span style="width:40%"></span></div>
</div>
<div class="user"><a href="">UserName</a></div>
<div class="date">(2 minutes)</div>
<div class="body">comment, test</div>
</li>
{% endfor %}
</ul>
jQuery CODE UPDATED
$("ul.list li").not('.sample').remove();
$.each(d.fields[0], function(i,item){
var v = $("ul.list li.sample").clone(true).removeClass('sample');
$(".image img", v).attr('src','http://www.cuevana.tv/avatar/2092974');
$(".rated", v).find('.stars span').css('width',item['score'] + '%');
$(".user a", v).text(item['user']);
$(".date", v).text('('+item['date']+')');
$(".body", v).text(item['body']);
$("ul.list").append(v)
});
我的问题:如何更新所有评论并输入新评论,我需要迭代数据,但我还没有找到解决方案。
答案 0 :(得分:0)
$("ul.list").html(v);
替换为
$("ul.list").append(v); //Or Prepend
.html将用新的内容替换整个内容:)