jquery toggle parent parent li?

时间:2012-03-21 15:37:54

标签: jquery

我在其他子菜单中有子菜单的html。我想要的是在页面加载时,如果子子项具有转换为父级切换的类及其父级切换,则包含打开类的li的li都是可见的..

HTML:

<ul class="NewsSubMenu">
   <li class="NewsSubMenuOn" style="margin-left:-1.7px;">
      <span style="padding-left:35px; color:White;">  News Archive</span>
       <ul class="NewsArchive">
           <li class="off">
           <a href="#" class="year">2012</a>                
                <ul class="NewsMonths">
                        <li class="off">
                           <a href="#" class="month">March</a> 
                              <ul class="NewsArt">
                                         <li class="turnedon">
                                          News Headline
                                       </li>
                                </ul>
                        </li>
                        <li class="off">
                           <a href="#" class="month">February</a> 
                              <ul class="NewsArt">
                                       <li>
                                          Title                                        </li>
                                </ul>
                        </li>
                </ul>
           </li>
           <li class="off">
           <a href="#" class="year">2011</a>                
                <ul class="NewsMonths">
                        <li class="off">
                           <a href="#" class="month">March</a> 
                              <ul class="NewsArt">
                                       <li>
                                         PVC4PIPES
                                       </li>
                                </ul>
                        </li>
                </ul>
           </li>
       </ul>   
      </li>
    </ul>

CSS:

.NewsSubMenuOn ul li.off ul {
display:none;

}

jquery的:

  $(document).ready(function () {
    $(".turnedon").parent().parent().toggle();
});

我的jquery不工作?

3 个答案:

答案 0 :(得分:1)

试试这个:

$(document).ready(function () {
    $(".turnedon").parents('ul').toggle(true);
});​

您可以在此处查看http://jsfiddle.net/KwdmZ/

答案 1 :(得分:0)

走上dom树,显示父元素,直到元素可见:

var target = $(".turnedon").show();
var parent = target.parent();
while(target.is(":hidden")) {
    parent.show();
    parent = parent.parent();
}

演示: http://jsfiddle.net/4arWQ/

答案 2 :(得分:0)

尝试指定它应该看的父类型:

 $(document).ready(function () {
    $(".turnedon").parent('ul').parent('ul').toggle();
});

如果你看看你的代码路径,如果你去父()。parent()你选择ahref与class month。