jQuery将元素移动到末尾,但保持变量更新
如何将元素移动到末尾,但保持变量更新而不再次遍历jQuery将元素移动到末尾,但保持变量更新,jquery,dom-traversal,jquery-traversing,Jquery,Dom Traversal,Jquery Traversing,如何将元素移动到末尾,但保持变量更新而不再次遍历 var pbUL = $('ul'); var pbLIs = $('li'); pbLIs.eq(0).appendTo(pbUL); pbLIs = $('li'); // not good... 简单问题-可能是简单的解决方案,但我不知道如何解决…尝试更换此部件: pbLIs.eq(0).appendTo(pbUL); pbLIs = $('li'); // not good... 为此: pbLIs = pbLIs.eq(0).a
var pbUL = $('ul');
var pbLIs = $('li');
pbLIs.eq(0).appendTo(pbUL);
pbLIs = $('li'); // not good...
简单问题-可能是简单的解决方案,但我不知道如何解决…尝试更换此部件:
pbLIs.eq(0).appendTo(pbUL);
pbLIs = $('li'); // not good...
为此:
pbLIs = pbLIs.eq(0).appendTo(pbUL);
为什么不这样做:
(function( $ ) {
$.fn.shift = function() {
var bottom = this.get(0);
this.splice(0,1);
return bottom;
};
})( jQuery );
var arr = $('li');
arr.push(arr.shift());
演示:我不明白,您已经准备好了匹配的元素集,您是否希望它会因为在DOM中移动而改变?我不明白您想要实现什么。最后一行没用。在此之前,pbLIs的引用仍然是同一个jQuery对象,它从未改变过。请提供一个您想要实现的示例。您使用的是什么浏览器和jQuery版本。我想我们需要知道在添加第一个元素后,您打算对li元素做什么?@subtenate它是同一个jQuery对象,从未更改,这意味着它仍然处于原始排序顺序,而不是更新的排序顺序。jQuery是否有
推送
方法?或者一个shift
方法?@KevinB-no,但是数组可以。是的,你的答案表明它可以。。。它确实有.push,但没有文档记录,也不打算供公众使用。它没有移位pbLIs
是一个jQuery集合,而不是数组。jQuery shift返回追加的li
,而不是所有li
“她已经有了所有匹配元素的列表。移动的那个仍然在那里,即使它移动了位置。我以为OP想要那个移动的人,这样他/她就可以用它做点什么了。(考虑到OP的最后一行代码,我想这是没有意义的。)