切换tr的所有下一个兄弟到下一个没有课程

时间:2013-06-17 08:55:18

标签: javascript jquery

我有一张这样的表

<table>
<tr class="a"></tr>
<tr class="a b"></tr>
<tr class="a b"></tr>
<tr class="a b"></tr>
<tr class="a"></tr>
<tr class="a b"></tr>
<tr class="a b"></tr>
<tr class="a b"></tr>
</table>

现在我想要的是如果我点击<tr>只用类“a”,它的兄弟会隐藏,直到它找到下一个只有“a”类。

因此,如果我先点击<tr>,那么下一个3 <tr>也会出现“b”类应该隐藏或显示(切换) 不是下一个<tr>只有“a”类

之后的<tr>

4 个答案:

答案 0 :(得分:2)

:not()选择器可用于排除点击事件的.b。在click事件中,相同的选择器可以与nextUntil函数结合使用。

在你使html有效之前,通过添加<td></td>标签,我不确定是否会有效。

$(".a:not('.b')").click(function(){
   $(this).nextUntil(".a:not('.b')").hide();
});

工作示例: http://jsfiddle.net/sCdHg/

答案 1 :(得分:1)

尝试

$("tr.a:not(.b)").click(function(){
  $(this).nextUntil(".a:not(.b)").hide()
});

答案 2 :(得分:0)

试试这个,

$("tr.a").click(function(){
  $(this).siblings("tr.a.b").hide()
});

答案 3 :(得分:0)

$('tr.a').not('.b').click(function() {
    $(this).nextUntil('tr.a.b').toggle();
});