检查表格行单元格中的内容

时间:2012-01-23 11:12:49

标签: javascript jquery

我想使用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>

3 个答案:

答案 0 :(得分:1)

查看:empty selector

$('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();

小提琴:http://jsfiddle.net/GHg7f/2/