【问题标题】:jQuery change iteration directionjQuery改变迭代方向
【发布时间】:2011-11-18 02:43:59
【问题描述】:

是否可以从最后一个元素迭代到第一个元素?例如,从列表中的最后一个父 ul 到最近的父 ul。目前我使用 each() 但改变方向会很好......

谢谢!

【问题讨论】:

    标签: jquery iteration


    【解决方案1】:

    您可以在Arrays 上使用reverse() 方法

    https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/reverse

    $($("ul li").get().reverse()).each(function(){ });
    

    或创建自己的函数:

    jQuery.fn.reverse = function() {
        return this.pushStack(this.get().reverse());
    };
    
    $("ul li").reverse().each(function(){ });
    

    工作示例:http://jsfiddle.net/hunter/kdREt/

    【讨论】:

    • 谢谢,还不知道remove和get函数。谢谢!
    【解决方案2】:

    使用 for 循环:

    http://jsfiddle.net/ebiewener/qu9h2/

    $(function(){
       var divs = $('div');
        for(var i=divs.length - 1; i >= 0; i--){
            console.log(divs[i]);
        }
    });
    

    【讨论】:

    • 谢谢,即使您是 jQuery 新手,也是最简单的方法 - 我应该自己搞定这个 :) 再次感谢!
    • 没问题。显然,关键在于意识到 $(...) 创建了一个匹配元素的数组。
    猜你喜欢
    • 1970-01-01
    • 2020-08-08
    • 1970-01-01
    • 2014-09-15
    • 2011-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多