HTML列表中的选择器处于打开状态

时间:2013-03-20 17:34:20

标签: javascript jquery slidetoggle

是否有可能找出列表中已打开哪个容器以及哪些容器仍然关闭?

目前,我正在使用slideDown()slideDown()addClass,在具有特定class="section_hdl_aktiv"的div上,但我想打开所有其他div而不使用这些课

这是JS的一部分:

if (state == "") {
    jQuery('#app-control-list ul li ul').slideDown();
    state = "open";
    jQuery('#app-control-list ul li').addClass("section_hdl_aktiv");
    console.log(state); 
} else if (state == "open") {   
    jQuery('#app-control-list ul li ul').slideUp(); 
    jQuery('#app-control-list ul li').removeClass("section_hdl_aktiv");
    state = "closed";   
    console.log(state);             
} else if (state == "closed") {
    jQuery('#app-control-list ul li ul').slideDown();
    jQuery('#app-control-list ul li').addClass("section_hdl_aktiv");
    state = "open";
    console.log(state);
} 

有人有想法吗?

2 个答案:

答案 0 :(得分:0)

是。使用jQuery,您可以编写类似......

的语句
if($('#app-control-list').is(':visible')) { ... }

if($('#app-control-list').css('display') == 'none')) { ... }

查看您发布的代码,我无法确切地说出您要执行的操作,但是如果您可以发布有帮助的HTML。

答案 1 :(得分:0)

你试过吗

$("#app-control-list ul li").not("section_hdl_aktiv").each(function() {
    $(this).slideDown()
}

这应该找到没有section_hdl_aktiv类的所有元素并将它们向下滑动。