且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如果所有列都为空,则删除/隐藏表行

更新时间:2023-02-07 10:27:54

您可以filter() TD并使用trim()避免空格..如此

You can filter() the TDs and use trim() to avoid white-spaces .. like so

$('tr').filter(
    function(){
        return $(this).find('td').length == $(this).find('td').filter(function(){
            return $(this).text().trim() == '';
        }).length;
    }).hide();


   $("tr").filter(function() {
    return $(this).text() === "-";
}).parent().hide();

注意:请确保使用find('td')而不是find('td:empty')

$('tr').filter(
    function(){
        return $(this).find('td').length == $(this).find('td').filter(function(){
        	return $(this).text().trim() == '';
        }).length;
    }).hide();
    
   
   $("tr").filter(function() {
    return $(this).text() === "-";
}).parent().hide();

table {
    empty-cells: show;
}

td {
    width: 2em;
    height: 2em;
    border: 1px solid #000;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="table1">
    <tbody>
        <tr>
            <td>a</td>
            <td>b</td>
            <td>c</td>
        </tr>
        <tr >
            <td></td>
            <td></td>
            <td></td>
        </tr>
        <tr >
            <td> </td>
            <td> </td>
            <td> </td>
        </tr>
         <tr >
            <td>a</td>
            <td></td>
            <td>c</td>
        </tr>
        <tr>
            <td>a</td>
            <td>b</td>
            <td>c</td>
        </tr>
    </tbody>
</table>