2012-03-28 8 views
0

私は削除するのliタグのクラスのページのロードにしたい...jquery親の親クラスにアクセスするには?

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> 

私が欲しいのは、親の親李は「ターンオン」を持っている李のためでありますクラス "オフ"にすることができます。クラストップクラス。それが意味をなさえすれば?

答えて

0

これはトリックを行う必要があります。

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

これにより、親クラスoffが含まれている場合は削除されます。

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

優れたおかげのようなものを使用することができます! – Beginner

0

だけ$.parent()$.removeClassを使用 - シンプルな...あなたは(再帰的に)すべての親を削除したい場合は、

var parent = $.parent(); // this needs to be called for the correct li object 
do { 
    parent.removeClass('off') 
    parent = parent.parent(); 
} while (parent) 
関連する問題