@Sveklovoz
Гарній хлопчик з м. Бульвар Дмитрия Донского

Как удалить конкретные дочерние элементы HTML на JavaScript?

Есть таблица на HTML:
<tr>
  <td>1</td>
  <td>2</td>
  <td>3</td>
  <td>4</td>
  <td>5</td>
</tr>

Нужно удалить второй и третий дочерний элемент tr, т.е. конкретно в этом случае чтобы код стал таким:
<tr>
  <td>1</td>
  <td>4</td>
  <td>5</td>
</tr>

И так сразу же отображался в браузере после прогрузки страницы.

Как это сделать на чистом JS? Я пытаюсь так, но понятное дело, ничего не выходит:

function removal() {
var a = document.getElementsByTagName('tr');
a[1,2].remove();
};

document.addEventListener("DOMContentLoaded", removal);


или

function removal() {
return document.getElementsByTagName('tr')[1,2].remove();
};

document.addEventListener("DOMContentLoaded", removal);
  • Вопрос задан
  • 246 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
const parent = document.querySelector('селектор элемента, из которого надо кого-то удалить');
const toRemove = [ 3, 1, 666, 2 ];


toRemove
  .map(n => parent.children[n])
  .filter(Boolean)
  .forEach(n => n.remove());

// или

toRemove
  .sort((a, b) => b - a)
  .forEach(n => parent.children[n]?.remove());

// или

[...parent.children].forEach((n, i) => toRemove.includes(i) && n.remove());
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы