Javascript jquery:隐藏表中的同级元素
这是我的HTML表格Javascript jquery:隐藏表中的同级元素,javascript,jquery,Javascript,Jquery,这是我的HTML表格 <table id="all-tasks-display-table"> <thead> <th>Status</th> <th>Subject</th> </thead> <tbody> <tr> <td><input id="j_id0:acc-details:all-tasks-list-repeat:0:all-tas
<table id="all-tasks-display-table">
<thead>
<th>Status</th>
<th>Subject</th>
</thead>
<tbody>
<tr>
<td><input id="j_id0:acc-details:all-tasks-list-repeat:0:all-tasks-is-completed" type="checkbox" name="j_id0:acc-details:all-tasks-list-repeat:0:all-tasks-is-completed" checked="checked">
<td><span id="j_id0:acc-details:all-tasks-list-repeat:0:all-tasks-name">ALPHA</span></a></td>
</tr>
<tr>
<td><input id="j_id1:acc-details:all-tasks-list-repeat:0:all-tasks-is-completed" type="checkbox" name="j_id1:acc-details:all-tasks-list-repeat:1:all-tasks-is-completed">
<td><span id="j_id1:acc-details:all-tasks-list-repeat:0:all-tasks-name">BETA</span></a></td>
</tr>
</tbody>
</table>
但是由于它发生在一个表中,我不知道如何继续。所以使用:has()和tr来选择行
$("tr:has([id$='all-tasks-is-completed'])").hide();
另一种方法是使用最接近的
$("[id$='all-tasks-is-completed']").closest("tr").hide();
closest()
获取父tr,然后使用find()
查找目标跨度,然后使用parent()
以列父td为目标,然后使用hide()
隐藏$(“[id$='all-tasks-is-completed']”)。更改(函数(){
如果($(this).is(“:checked”)){
$(this).closest('tr').find(“span[id$='all-tasks-name']).hide();
}
}).change()代码>
地位
主题
阿尔法
贝塔
因此隐藏该行
$("[id$='all-tasks-is-completed']").closest("tr").hide();