如何toggleClass只有被点击的节点

时间:2013-01-18 21:07:59

标签: jquery html-table

我有一个表在while循环之后切换了.parent的行。我的JS在下面,你可以看到我也希望toggleClass元素的.parent,所以当我点击它时,标题行可以突出显示。但是使用当前代码,当单击一个节点时,所有.parent个节点都会切换该类。如何更改此设置,只有我点击的.parent切换?

<script type="text/javascript">  
$(document).ready(function () {

   $(".child").hide();

   function getChildren($row) {
      var children = [];
      while ($row.next().hasClass('child')) {
         children.push($row.next());
         $row = $row.next();
      }
      return children;
   }

   $('.parent').on('click', function () {

      $('.parent').toggleClass('td-active');

      var children = getChildren($(this));
      $.each(children, function () {
         $(this).toggle(1000);

      })
   });

})
</script>

2 个答案:

答案 0 :(得分:1)

$('.parent').toggleClass('td-active');

TO:

$(this).toggleClass('td-active');

答案 1 :(得分:0)

$('.parent').on('click', function() {

    $(this).toggleClass('td-active');

    var children = getChildren($(this));
    $.each(children, function() {
        $(this).toggle(1000);

    })
});