Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery将元素移动到末尾,但保持变量更新_Jquery_Dom Traversal_Jquery Traversing - Fatal编程技术网

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的最后一行代码,我想这是没有意义的。)