3

我需要使用作为第一行子代的跨度 ID 隐藏第一行和接下来的 3 行。

<tr>
    <td>
        <div><span id="id_1">Sample</span>
        </div>
    </td>
</tr>
<tr>row2</tr>
<tr>row3</tr>
<tr>row4</tr>
<tr>row5</tr>

当您单击示例时,需要将第 2 行第 3 行和第 4 行与父行一起隐藏。

我试图$("#id_1").parent('tr').hide();用来隐藏包含 span 但它不起作用的 tr。

我怎样才能做到这一点。

4

2 回答 2

0

试试这个,

$("#id_1").closest('tr').hide();
$("#id_1").closest('tr').nextAll('tr').hide();

演示 1

或者

$("#id_1").parents('tr').hide();
$("#id_1").parents('tr').nextAll('tr').hide();

演示 2

你可以像这样使用它

$("#id_1").closest('table').find('tr').hide();

演示 3

阅读有关 最接近()父母():not(:last)的文档

于 2013-10-17T07:31:32.067 回答
0

我建议:

$('tr td span[id]').click(function(){
    var row = $(this).closest('tr');
    row.nextAll('tr').slice(0,3).add(row).hide();
});

JS 小提琴演示

参考:

于 2013-10-17T07:39:34.890 回答