Удалить пустую строку в HTML-таблице - PullRequest
0 голосов
/ 25 января 2019

Как удалить пустые строки.Мне удалось удалить только строку, используя метод deleteRow(), но мне нужно удалить только пустые.

<table  border="1">
        <tr>
            <td></td>
        </tr>
        <tr>
            <td>testing</td>         
        </tr>
        <tr>
            <td></td>           
        </tr>
    </table>

Ответы [ 2 ]

0 голосов
/ 25 января 2019

Вместо deleteRow () вы можете использовать removeChild () :

document.querySelectorAll('table tr').forEach(function(e, i) {
    if (e.textContent.trim().length == 0) { // if row is empty
        e.parentNode.removeChild(e);
    }
})


// in jQuery: 
//$('table tr').filter((i, e) => e.textContent.trim().length == 0).remove();
<table  border="1">
    <tr>
        <td></td>
    </tr>
    <tr>
        <td>testing</td>
    </tr>
    <tr>
        <td></td>
    </tr>
</table>
0 голосов
/ 25 января 2019

Это то, что вы ищете?

То, что мы делаем, - это получение всех td проверок, если они пусты, а затем удаление их, если внутри них нет текста.

$("td").each(function() {
    if (this.innerText === '') {
    	this.closest('tr').remove();
    }
});
td {
  height: 20px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table border="1">
  <tr>
    <td></td>
  </tr>
  <tr>
    <td>123</td>
  </tr>
  <tr>
    <td></td>
  </tr>
  <tr>
    <td>456</td>
  </tr>
</table>
...