在兄弟div上的removeClass不工作

时间:2013-10-04 09:17:28

标签: javascript jquery html jquery-selectors

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

问题是我无法从班级hideThis内的 6th div中删除班级agShowImgBox

这段代码应该这样做,对吧

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

添加课程正在运作。但不要删除课程。

1 个答案:

答案 0 :(得分:4)

:gt()从零开始。 :gt(5)将匹配之后的元素,但与第六个元素本身不匹配。

你应该写:

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