简体   繁体   English

jQuery的切换父母父母李?

[英]jquery toggle parent parent li?

I have html with a submenu inside another submenu. 我在另一个子菜单中有一个带有子菜单的html。 What i want is on page load if a sub sub li has the class turnedon for the parent to toggle and its parent to toggle, so the li containing the li with class turned on are all visible.. 我想要的是在页面加载上,如果子sub li具有为父级切换而为其父级切换的类,因此包含li且已打开类的li都可见。

HTML: 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: CSS:

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

} }

jquery: jQuery的:

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

my jquery isnt working? 我的jQuery无法正常工作?

Try this one: 试试这个:

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

You can check it here http://jsfiddle.net/KwdmZ/ 您可以在这里检查它http://jsfiddle.net/KwdmZ/

Walk up the dom tree, showing parent elements until your element is visible: 走到dom树上,显示父元素,直到您的元素可见:

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

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

Try specifying what parent types it should look at: 尝试指定应查看的父类型:

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

If you look at your code paths if you go parent().parent() your selecting the ahref with class month. 如果您查看代码路径(如果转到parent()。parent(),则选择带有类month的ahref)。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM