我想使用jQuery来检查表的每个表行中的第二个单元格是否包含任何文本,如果第二个单元格不包含任何文本,则将表格行设置为display:none;
最好的办法是什么?
HTML:
<table id="results">
<tr>
<td>Results</td>
<td>1000</td>
</tr>
<tr>
<td>Description</td>
<td></td> <!-- This cell is empty so hide row -->
</tr>
<tr>
<td>Time/Date</td>
<td>14:03 22/01/12</td>
</tr>
</table>
答案 0 :(得分:1)
$('table tr').has('td:empty:nth-child(2)').hide()
答案 1 :(得分:0)
$('table tr').each(function() {
if(!$(this).find('td').eq(1).html().length) {
$(this).hide();
}
});
这将循环遍历每个tr
,使用$.eq(1)
找到第二个元素(数组从零开始)并查看它是否包含使用$.html().length
的任何内容。如果它为空,则会隐藏tr
$(this).hide()
。
答案 2 :(得分:0)
一个简单的解决方案,使用:empty
选择器
$("#results tr").find('td:eq(1):empty').parent().hide();