我有一个网页,其中包含一些ASP.NET面板和JavaScript,当用户单击按钮以展开和折叠面板时,将执行这些JavaScript。我需要以相反的顺序打开面板,但是使用JavaScript reverse()似乎并不能反转存储在组件(面板变量)中的项目的顺序。

我有以下JavaScript:

function expandCollapsePanels()
{
    var collapse = $('#<%= lbltogglePanels.ClientID %>').html() == "Collapse all panels";
    var panels = Sys.Application.getComponents(); //adding .reverse() does not work

    for (var i in panels)
    {
        panels[i].set_Collapsed(collapse);
    }
}


如何修改上面的代码来做到这一点?

最佳答案

您可以简单地沿相反方向循环:

for (var i = panels.length-1; i>=0; i--)
{
  panels[i].set_Collapsed(collapse);
}


演示:http://jsfiddle.net/de6NF/1/

关于javascript - 在foreach循环中使用之前,如何反转存储在变量中的项目?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10733673/

10-10 12:54