1

これは HTML の構造です:

<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");                 
});

問題は、クラス内の6 番目のdivhideThisからクラスを削除できないことです。agShowImgBox

このコードはそれを行うはずです。

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

クラスの追加は機能しています。しかし、クラスを削除しません。

4

1 に答える 1

4

:gt()はゼロベースです。は 6 番目以降:gt(5)の要素に一致しますが、6 番目の要素自体には一致しません。

あなたは書くべきです:

$(this).siblings(".agShowImgBox")
       .children(".centerImg:gt(4)")
       .removeClass("hideThis");
于 2013-10-04T09:26:24.997 に答える