jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery – 动态添加克隆或创建DOM – 什么更好?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我希望从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>

解决方法

另见: jQuery and dynamic elements vs display css attribute

需要注意的是,动态创建doms会增加客户端的开销,而克隆现有doms在客户端上的速度很快,但却需要提前渲染和下载它们.

没有比另一个更好,哪一个更适合你取决于你的项目;如果您更关心客户端性能而不是每个请求下载一些额外的字节,那么您可以选择克隆方法.

然而,据我所知,客户端性能不会受到任何方法的严重影响,克隆的速度要快一些,但动态创建元素的速度并不是非常慢.除非你创造了100个这样的选择,否则选择可能只是一个品味问题,即对你来说感觉更好.

但需要注意的是,除非您需要创建许多非常不同的元素,否则克隆是一种更方便的方法,因为如果标记未嵌入JS代码中,您可以轻松地设置样式并修改元素.

大佬总结

以上是大佬教程为你收集整理的jquery – 动态添加克隆或创建DOM – 什么更好?全部内容,希望文章能够帮你解决jquery – 动态添加克隆或创建DOM – 什么更好?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: