0

我有一个 jQuery 对象,它包含一组元素。当我想将一个元素推到集合的末尾时,一切都很好,一切正常。但是我找不到将元素插入到集合开头的方法,因为顺序对我来说很重要,并且.unshift()在 jQuery 中没有等价的。代码示例如下:

   var imgs = $slider.find(".scroll-container");
   var element = $("#someElement");
   imgs.push(element)     //works, element is the last element of the imgs set
   imgs.???(element)   //to put element to the beginning of the set
4

3 回答 3

2

为什么不像这样反过来:

element.push(imgs);
imgs = element;

艰难我会使用add()方法而不是 push。


根据斯蒂芬伯恩的回答,我有一个想法

$.fn.unshift = [].unshift;
imgs.unshift(element);
于 2013-11-05T12:23:46.523 回答
1

这个答案非常坚定地在我的脸颊上说:

$.fn.reverse = [].reverse;
//get, reverse
var imgs = $slider.find(".scroll-container").reverse();
//add to end
imgs.push(element);
//reverse again
imgs = imgs.reverse();

显然它不是很有效,尽管据说除了追加到末尾之外的任何数组插入都将是低效的:)

于 2013-11-05T12:28:36.363 回答
1

您需要使用append()andprepend()方法来代替:

imgs.append(element);
imgs.prepend(element);
于 2013-11-05T12:16:47.690 回答