Я создаю таблицу на основе некоторых внешних данных. В каждой строке нет данных в столбцах, которые я возвращаю. Я хочу удалить строку с пустыми ячейками все. Я нашел код для удаления строки, если одна ячейка пуста, но разрешена одна пустая ячейка. Я хотел бы удалить первую и третью строки.
Я пробовал это, но он удаляет все строки:
<table border = "1">
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td>123</td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td>456</td>
<td></td>
</tr>
$("td").each(function() {
if (this.innerText === '') {
this.closest('tr').remove();
}
});



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Просто измените свой скрипт, чтобы перебирать элементы tr вместо td.
Если текстовое содержимое строки tr пусто, это означает, что все ее ячейки также пусты. Вот рабочая демонстрация:
$("tr").each(function() {
if (!$(this).text().trim()) {
this.remove();
}
});<script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table border = "1">
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td>123</td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td>456</td>
<td></td>
</tr>
</table>@Mukyuu Это то, что изначально было у ОП.
Я запустил фрагмент в Firefox, не сработало. Затем я запустил его в Chrome, и это сработало. Это кажется странным
@mcadamsjustin Спасибо за это - я также изменил код для работы в Firefox. Добавление функциональности trim для обеспечения отсутствия пробелов в сравнении строк исправило это.
Вы можете использовать каждый из элементов tr следующим образом. Надеюсь помочь, дружище :))
$('tr').filter(
function(){
return $(this).find('td').length == $(this).find('td:empty').length;
}).hide();
это работает, но @JonUleis ответил первым, спасибо за помощь
@mcadamsjustin: Да, спасибо, что проголосовал за моего друга :d
@mcadamsjustin Вы нажали «Выполнить фрагмент кода»? Он удаляет первую и третью строку, как вы и просили.