这是我的表,使用 tr 和 td。
NAME Address CITY STATE
ABC 123 A CA
AB8 123 B CA
AFC 456 B TX
POI 985 C KJ
文档准备好后,它会隐藏所有。
现在我想要一行来显示所有 tr 有: -> 第 (4) 列 = CA“和”第 (3) 列 = B
我厌倦了我的代码:
$("table[id=maintablex] tr td:nth-child(4):contains('CA'), table[id=maintablex] tr td:nth-child(3):contains('B')").closest('tr').show();
但它显示一切都有 (4) = CA 和 (3) = B...我的代码是“OR”,有人可以帮我这个吗?
添加了完整的 HTML 代码:
<table id="table">
<tr>
<td>ABC</td>
<td>123</td>
<td>A</td>
<td>CA</td>
</tr>
<tr>
<td>ABC</td>
<td>1234</td>
<td>B</td>
<td>CA</td>
</tr>
<tr>
<td>AUF</td>
<td>123</td>
<td>C</td>
<td>TX</td>
</tr>
<tr>
<td>ABC</td>
<td>456</td>
<td>B</td>
<td>TX</td>
</tr>
</table>
<script language="Javascript">
$("table[id=table] tr").hide();
// Code show here
</script>
我要显示的结果只有:
AB8 123 B CA
最佳答案
为什么不这样做:
$("table[id=maintablex] tr td:nth-child(3):contains('B')",
$("table[id=maintablex] tr td:nth-child(4):contains('CA')")
).closest('tr').show();
我不知道这是否更快,但根据@Jasper 的回应,为什么不这样做:
//select the table, find all `<td>` elements that contain `CA` and iterate through each of them
$('#table')
.find('td:nth-child(4):contains("CA")')
.closest('tr')
.find('td:nth-child(3):contains("B")')
.closest('tr')
.addClass('active');
这是 jsfiddle:http://jsfiddle.net/KQMXe/
关于javascript - jQuery 选择多个 :nth-child(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8334528/