大佬教程收集整理的这篇文章主要介绍了在jQuery中拆分列表 – 意识到内存和可重用性,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
为了争论(并保持代码在点上),让我们说我试图将列表拆分为元素三之后的两个列表.我没有检查我的代码是否存在语法错误或其他任何问题 – 希望您能够了解我正在尝试做什么.
选项一是编写这样的函数:
var list = $('ul.listCopy'); var newList = $('<ul class="listCopy" />'); var latterElements = list.children('li:gt(3)').remove(); newList.append(latterElements); list.after(newList);@H_301_16@这很棒,但只有在我知道元素的类型和属性的情况下它才有效.如果我在其中分割一个包含多个div的div,或者OL,或者其他什么,我将不得不编写一个单独的函数.如果元素具有类或角色或任何其他html属性,我希望能够复制它而不必担心将来会出现什么样的自定义属性.我想让这个通用足以处理任何类型的元素.这是选项二:
var list = //something var newList = list.clone(); newList.children(':lt(4)').remove(); list.children(':gt(3)').remove();@H_301_16@这很通用,我可以复制任何东西,但问题是我正在复制整个列表.如果我需要使用这个程序划分一个特别长的列表,我担心内存的影响.
我想要做的理想事情是制作一个元素的副本,但只复制元素本身,而不是它的子元素.我不想复制我最终要删除的内容.有没有办法做这样的事情?我见过的大多数插件和功能都选择了这种或那种方式.
谢谢!
cloneNode()
method.如果未将true作为参数传递,则不会克隆任何子项.
// Original element var list = $('ul'); // Clone of original (top level only) var newList = list[0].cloneNode(); // Append children greater than index 3 to the new element list.children(':gt(3)').appendTo(newList);@H_301_16@Using
.appendTo()
从原始列表中删除元素,并将它们移动到新位置(在本例中为newList).
以上是大佬教程为你收集整理的在jQuery中拆分列表 – 意识到内存和可重用性全部内容,希望文章能够帮你解决在jQuery中拆分列表 – 意识到内存和可重用性所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。