jquery如果td没有文本,则隐藏表行

时间:2014-03-10 04:26:05

标签: jquery html css hide

如果行td里面没有文字,我试图隐藏表格行。怎么做。 到目前为止,我尝试的是at fiddle here

使用Javascript:

$('#tblNodes > tbody  > tr').each(function () {
    if ($td.text() == '') {
        $(this).hide();
    }
});

HTML:

<table id="tblNodes" border=1 width=100%>
    <tr>
        <td class="nodeData"></td>
    </tr>
    <tr>
        <td class="nodeData">abc</td>
    </tr>
    <tr>
        <td class="nodeData"></td>
        <tr>
            <td class="nodeData"></td>
        </tr>
        <tr>
            <td class="nodeData">abc</td>
        </tr>
        <tr>
            <td class="nodeData"></td>
        </tr>
    </tr>
</table>

6 个答案:

答案 0 :(得分:5)

尝试

$('#tblNodes > tbody  > tr').has('td:empty').hide()

$('#tblNodes > tbody  > tr td:empty').parent().hide()

答案 1 :(得分:2)

您可以使用.is():empty选择器来实现您的目标。

尝试,

$('#tblNodes > tbody  > tr').each(function () {
    if ($(this).find('td').is(':empty')) {
        $(this).hide();
    }
});

答案 2 :(得分:1)

试试这个

 $('#tblNodes tr').each(function() {
   $td=$(this).find('td');
    if($td.text() == ''){
      $(this).hide();
    }
 });

答案 3 :(得分:1)

试试这个

$('#tblNodes > tbody  > tr').each(function() {
    if($(this).find('td').text() == ''){
    $(this).hide();
    }
});

答案 4 :(得分:1)

您可以尝试:

1)检查表中每个TR的TD。

2)如果没有文本,请将其display属性设置为none。

$('#tblNodes tr').each(function() {
   $td=$(this).find('td');
    if($td.text() === ''){
      $(this).css("display", "none");
    }
 });

答案 5 :(得分:1)

试试这个:

$('#tblNodes tbody  tr').each(function () {
    if ($(this).find('td').is(':empty')) {
        $(this).hide();
    }
});