我希望从 ajax 调用返回的数组中创建以下列表。
<ul id="list">
<li><input type="checkbox" name="rss" value="231" />bla</li>
<li><input type="checkbox" name="rss" value="321" checked="checked" />ble</li>
<li><input type="checkbox" name="rss" value="431" />abc</li>
</ul>
以下两种方法都可以(我可能需要调整,但它们很接近。一种方法优于另一种方法吗?有更好的方法吗?谢谢
var l=$("#list");
l.html('');
$(data).each(function(){
l.append('<li><input type="checkbox" name="rss" checked="'+((this.selected)?'checked':null)+'" value="'+this.id+'" />'+this.channel+'</li>');
//Or
l.append($("#rss-clone").clone(true).removeAttr('id').find('input').val(this.id).attr('checked',(this.selected)?'checked':null).parent().text(this.channel));
},'json');
//仅克隆解决方案需要:
<ul class="hidden"><li id="rss-clone"><input type="checkbox" name="rss" value="" />bla</li></ul>