在foreach循环中使用JavaScript变量之前,如何从该变量中删除或排除组件?

在foreach循环中使用JavaScript变量之前,如何从该变量中删除或排除组件?,javascript,asp.net,Javascript,Asp.net,我有一个包含ASP.NET面板和JavasScript的网页,当用户单击“全部展开/折叠”按钮时,JavasScript会展开和折叠这些面板。我想排除一些面板,以便在用户单击按钮时它们不会展开或折叠(它们包含在用户控件中,并显示为嵌套面板) 我有以下JavaScript: function expandCollapsePanels() { var collapse = $('#<%= lbltogglePanels.ClientID %>').html() == "Coll

我有一个包含ASP.NET面板和JavasScript的网页,当用户单击“全部展开/折叠”按钮时,JavasScript会展开和折叠这些面板。我想排除一些面板,以便在用户单击按钮时它们不会展开或折叠(它们包含在用户控件中,并显示为嵌套面板)

我有以下JavaScript:

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

    for (var i in panels) 
    {
        //if panel name/ID contains 'pnlDetails', remove it (or don't collapse/expand it)

        panels[i].set_Collapsed(collapse);
    }
}
函数expandCollapsePanels()
{
var collapse=$(“#”).html()==“折叠所有面板”;
var panels=Sys.Application.getComponents();
用于(面板中的var i)
{
//如果面板名称/ID包含“pnlDetails”,请将其删除(或不折叠/展开)
面板[i]。集_折叠(折叠);
}
}

如何修改此代码以删除包含“pnlDetails”作为其ID(或元素名称)一部分的面板?

您的意思是这样的吗

 for (var i in panels) 
    {
        //if panel name/ID contains 'pnlDetails', remove it (or don't collapse/expand it)
        if(panels[i].name.indexOf("pnlDetails") > -1 || panels[i].ID.indexOf("pnlDetails") > -1){
            panels[i].set_Collapsed(collapse);
        }
    }

是的,类似这样,但是如果.name包含'pnlDetails'作为名称的一部分,则所有面板都将其作为名称的一部分。如何修改代码以检查名称是否包含该内容?