-1

我有一张这样的桌子

<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>,那么下一个<tr>带有“b”类的下一个 3 应该隐藏或显示(切换)而不是下一个只有“a”类<tr>之后的<tr>

4

4 回答 4

2

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

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

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

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

于 2013-06-17T09:02:10.783 回答
1

尝试

$("tr.a:not(.b)").click(function(){
  $(this).nextUntil(".a:not(.b)").hide()
});
于 2013-06-17T09:02:19.517 回答
0

试试这个,

$("tr.a").click(function(){
  $(this).siblings("tr.a.b").hide()
});
于 2013-06-17T08:58:16.087 回答
0
$('tr.a').not('.b').click(function() {
    $(this).nextUntil('tr.a.b').toggle();
});
于 2013-06-17T09:02:58.807 回答