如何在jquery中以相反的顺序迭代元素?

时间:2010-12-21 06:30:58

标签: jquery html

我是jquery的新手。我想知道如何使用each()在jquery中以相反的顺序迭代表单元素? 任何帮助将不胜感激:)

5 个答案:

答案 0 :(得分:33)

试试这个

$($("input").get().reverse()).each(function() { /* ... */ });

答案 1 :(得分:16)

$($("input").get().reverse()).each(function() { 
   //function body here
});

.get().reverse()返回所有元素的反转数组 然后,您可以使用each()返回每个元素。

希望这有帮助。

答案 2 :(得分:6)

我使用与上面类似的方法,但是更短,将jQuery反向函数定义为与数组的反向函数相同:

$.fn.reverse = [].reverse;

现在您可以像这样使用它:

$('img').reverse().each(function(){ /* do something */ });

答案 3 :(得分:3)

我更喜欢创建反向插件,例如

jQuery.fn.reverse = function(fn) {

   var i = this.length;

   while(i) {
        i--;
        fn.call(this[i], i, this[i])
   }
};

用法例如:

$('#product-panel > div').reverse(function(i, e) {
    alert(i);
    alert(e);
});

答案 4 :(得分:2)

更好的

$.each(  $( $('input').get().reverse() )  , function(){ /* ... */ });