这是我的表,使用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 …我的代码是“或”,有人可以帮助我吗?
添加了完整的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/