2013-10-04 60 views
1

這是HTML的結構:removeClass DIV不工作

<div class="agShowBox"> 
    <div class="agEmpty"> </div> 
    <div class="agShowImgBox"> 
      <div class="centerImg"> 
      <div class="centerImg"> 
      <div class="centerImg"> 
      <div class="centerImg"> 
      <div class="centerImg"> 
      <div class="centerImg hideThis"> 
      <div class="clearit"></div> 
    </div> 
    <div class="agRightArrow"> 
      <img alt="next" src="images/arrow_right.png"> 
    </div> 
    <div class="clearit"></div> 
</div> 

這裏是我的jQuery代碼:

$("#agMidBox").on('click', '.agRightArrow', function() { 
    $(this).siblings(".agShowImgBox").children(".centerImg:lt(6)").addClass("hideThis"); 
    $(this).siblings(".agShowImgBox").children(".centerImg:gt(5)").removeClass("hideThis");     
}); 

的問題是,我不能夠刪除類hideThis第6 div類內agShowImgBox

此代碼是應該做的,對不對

$(this).siblings(".agShowImgBox") 
     .children(".centerImg:gt(5)") 
     .removeClass("hideThis"); 

添加類的工作。但不能刪除課程。

+0

你只是想從一個特定的股利或少數人添加和刪除類? –

+0

點擊那個按鈕我必須添加類到前5個div,同時刪除下一個5個div的類 –

回答

4

:gt()是從零開始的。 :gt(5)將在之後與第個元素匹配,但不會與第六個元素本身匹配。

你應該寫:

$(this).siblings(".agShowImgBox") 
     .children(".centerImg:gt(4)") 
     .removeClass("hideThis"); 
+0

Thanks dude ..明白了..但我不明白爲什麼它是這樣的!大於5意味着第六也應該被認爲是禮儀! –

+0

@SandeepRao,好吧,由於指數是從零開始的,*大於指數5 *實際上意味着*在第六個項目之後*(第一個項目的指數爲0)。你會習慣它最終:) –