Вернуться к уроку

Удаление элементов

важность: 5

Напишите полифилл для метода remove для старых браузеров.

Вызов elem.remove():

  • Если у elem нет родителя – ничего не делает.
  • Если есть – удаляет элемент из родителя.
<div>Это</div>
<div>Все</div>
<div>Элементы DOM</div>

<script>
  /* ваш код полифилла */

  var elem = document.body.children[0];

  elem.remove(); // <-- вызов должен удалить элемент
</script>

Родителя parentNode можно получить из elem.

Вот так выглядит решение:

<div>Это</div>
<div>Все</div>
<div>Элементы DOM</div>

<script>
  if (!Element.prototype.remove) {
    Element.prototype.remove = function remove() {
      if (this.parentNode) {
        this.parentNode.removeChild(this);
      }
    };
  }

  var elem = document.body.children[0];

  elem.remove();
</script>