我试图做一个jQuery模板,但我坚持每个jQuery的中间。这里是我的代码:jQuery每个返回相同的结果
var json = [{"threadid":"1","username":"dvsdvs"},{"threadid":"32","username":"rgfedvre"}];
var template = '<li id="thread_{threadid}">{username}</li>';
jQuery.each(json, function(index, value) {
jQuery.each(value, function(subindex, subvalue) {
template = template.replace('{' + subindex + '}', value[subindex]);
});
$(template).appendTo('body');
});
,但结果总是
<li id="thread_1">dvsdvs</li>
<li id="thread_1">dvsdvs</li>
我想获得一些帮助,谢谢。
一般形式是'jQuery(选择器).each(...)'而不是'jQuery.each(selector,...)'。 – ArtOfCode 2014-10-20 21:19:36
您正在第一次循环迭代中替换您的'template'中的'{threadid}'。第二次迭代,它已被替换。 – 2014-10-20 21:19:49
@ArtOfCode:'jQuery(selector).each(...)'仅针对jQuery对象/ DOM元素。 'jQuery.each(selector,...)'在这里是正确的,因为他使用了一个数组。 – 2014-10-20 21:20:35