给出以下html表(它只是一个例子):
<table>
<tbody>
<tr>
<th>First</th>
<th>Second</th>
</tr>
<tr>
<tr>
<td>Alfreds Futterkiste</td>
<td>Maria Anders</td>
</tr>
<tr>
<td>X</td>
<td>X</td>
</tr>
</tr>
<tr>
<tr>
<td>Alfreds Futterkiste</td>
<td>Maria Anders</td>
</tr>
<tr>
<td>X</td>
<td>X</td>
</tr>
</tr>
<tr>
<tr>
<td>Alfreds Futterkiste</td>
<td>Maria Anders</td>
</tr>
<tr>
<td>X</td>
<td>X</td>
</tr>
</tr>
<tr>
<tr>
<td>Alfreds Futterkiste</td>
<td>Maria Anders</td>
</tr>
<tr>
<td>X</td>
<td>X</td>
</tr>
</tr>
</tbody>
</table>
我想选择包含&#34; X&#34;的行 (所以td标签也是)使用JQuery。我无法找到合适的选择器来执行此操作。
我已尝试过:table tr tr:last-child
但这不起作用。这一小段代码应该意味着&#34;给我最后一个tr子节点,它有一个父表格,父表格为#34;。
更新:
X只是一个例子。在我的真实项目中,我想要选择的行包含一组输入元素。我想选择那些行来隐藏它们而不是它们的内容(输入元素)。然后我必须能够选择其他行(包含名称的行)。
答案 0 :(得分:1)
(Haven未测试以下代码)
$("tr")
.filter(function( index ) {
return $(this).text().indexOf('X') != -1;
})
答案 1 :(得分:0)
你能解释一下你的桌子是如何运作的吗?
另一行内的嵌套表行应该在行内的新表中吗? 你转而试图在一行中引用两个不同的表?
这是对的吗?
如果您按照我的示例中所示的方式构建html表,则以下代码段应该按照您的要求执行。
$('table').on('click','td',function(e){
// e.stopPropagation();
var t = $(this);
t.find('tr:last-child').toggleClass('highlight');
});
&#13;
tr:hover { background-color: lightblue; }
.highlight { background-color: yellow; }
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tbody>
<tr>
<th>First</th>
<th>Second</th>
</tr>
<tr>
<td colspan="2">
<table>
<tbody>
<tr>
<td>Alfreds Futterkiste</td>
<td>Maria Anders</td>
</tr>
<tr>
<td>X</td>
<td>X</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan="2">
<table>
<tbody>
<tr>
<td>Alfreds Futterkiste</td>
<td>Maria Anders</td>
</tr>
<tr>
<td>X</td>
<td>X</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan="2">
<table>
<tbody>
<tr>
<td>Alfreds Futterkiste</td>
<td>Maria Anders</td>
</tr>
<tr>
<td>X</td>
<td>X</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
&#13;