我有一个具有以下结构的表:
<table>
<tr>
<td>some column|1</td>
<td id="abc|1">abc</td>
<td id="abc|1">abc</td>
</tr>
<tr>
<td>another column|1</td>
<td id="def|1">def</td>
<td id="def|1">def</td>
</tr>
<tr>
<td>ome column|2</td>
<td id="abc|2">abc</td>
<td id="abc|2">abc</td>
</tr>
<tr>
<td>another column|2</td>
<td id="def|2">def</td>
<td id="def|2">def</td>
</tr>
</table>
内容来自数据库。
如您所见,ID的后缀为|x
。我想删除第二列中带有后缀|2
的所有元素以及第三列中带有后缀|1
的所有元素。
此外,第3列应移至顶部,第1列中以|2
结尾的所有行都将消失。
因此最终结果如下:
<table>
<tr>
<td>some column|1</td>
<td id="abc|1">abc</td>
<td id="abc|2">abc</td>
</tr>
<tr>
<td>another column|1</td>
<td id="def|1">def</td>
<td id="def|2">def</td>
</tr>
</table>
&#13;
这是我的方法,但它根本不起作用:
$("table td:nth-child(2)").find("[id$=2]").each(function() {
$(this).hide();
});
$("table td:nth-child(3)").find("[id$=1]").each(function() {
$(this).hide();
});
答案 0 :(得分:2)
ID应该是唯一的。如果您可以更改HTML并使ID唯一,那就更好了。
如果改变HTML是不可能的
由于两个选择器都指向同一个元素,请使用以下
$("table td:nth-child(2)[id$=2], table td:nth-child(3)[id$=1]").hide();