如何’pop’或’shift’从jQuery设置

在Javascript中,数组应该有pop和shift方法。

但是,JQuery对象似乎缺少这些方法:

$('div').shift(); // Error, shift is undefined
$('div').pop(); // Error, pop is undefined
$('div').splice(); // Splice is OK actually

我不知道为什么这些函数缺少 – 毕竟,jquery对象只是一个数组。

对jquery对象执行pop和shift函数的最简单的方法是什么?

它们缺少,因为一个jQuery对象不是一个数组。

(function( $ ) {
    $.fn.pop = function() {
        var top = this.get(-1);
        this.splice(this.length-1,1);
        return top;
    };

    $.fn.shift = function() {
        var bottom = this.get(0);
        this.splice(0,1);
        return bottom;
    };
})( jQuery );

编辑:.slice()不修改原始对象。修正为使用.splice()。

http://stackoverflow.com/questions/6515544/how-to-pop-or-shift-from-jquery-set

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:如何’pop’或’shift’从jQuery设置