2012-03-28 4 views
0

ich für die Klasse von einem li-Tag auf Seite laden möchten entfernt werden ...Wie in jquery Eltern Elternklasse zugreifen?

HTML:

<ul class="NewsArchive"> 
       <li class="off"> 
        <a href="#" class="year">T's Blog</a>     
         <ul class="NewsMonths" style="display: block; "> 
            <li class="off"> 
            <a href="#" class="month">July 2011</a>    
             <ul class="BlogsArt" style="display: block; "> 
               <li class="turnedon"> 
                What's in a surname? 
               </li> 
            </ul> 
           </li> 
</ul> 
</li> 
<li class="off"> 
       <a href="#" class="year">Steve's Blogs</a>     
        <ul class="NewsMonths"> 
           <li class="off"> 
           <a href="#" class="month">February 2012</a>    
            <ul class="BlogsArt"> 
              <li> 
               A bright note 
              </li> 
           </ul> 
          </li> 
        </ul> 
      </li> 
</ul> 

Ich will, was für das li ist die „turnedon“ für ihre Muttermutter li hat Klasse "aus", die entfernt werden soll. Also die Spitzenklasse. wenn das Sinn macht?

Antwort

0

Dies sollte den Trick tun.

$(function() 
{ 
    $('li.turnedon').closest('li.off').removeClass('off'); 
}); 

Dies wird die Elternklasse off entfernen, wenn sie es enthält.

$(function() 
{ 
    $('li.turnedon').parents('li.off').removeClass('off'); 
}); 
+0

ausgezeichnet Dank verwenden können! – Beginner

0

Verwenden Sie einfach $.parent() und $.removeClass - einfach ... wenn Sie alle Eltern entfernen möchten (rekursiv) Sie so etwas wie

var parent = $.parent(); // this needs to be called for the correct li object 
do { 
    parent.removeClass('off') 
    parent = parent.parent(); 
} while (parent) 
Verwandte Themen