在jQuery集的开头添加一个元素

时间:2013-11-05 12:15:29

标签: javascript jquery

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

   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

3 个答案:

答案 0 :(得分:2)

为什么不这样走呢?

element.push(imgs);
imgs = element;

我会使用add()方法而不是推送。


根据Stephen Byrne的回答,我有一个想法

$.fn.unshift = [].unshift;
imgs.unshift(element);

答案 1 :(得分:1)

您需要使用append()prepend()方法:

imgs.append(element);
imgs.prepend(element);

答案 2 :(得分:1)

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

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

显然它并不是非常有效,尽管可以说除了追加到末尾之外的任何数组插入效率都不高:)