Выбор ответа Junior DOM API обновлено

Повторная вставка того же узла

Вопрос

Узел p уже лежит в #a. Что произойдёт после document.querySelector('#b').append(p)?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: p переместится в b и исчезнет из a. Узел может находиться в дереве только в одном месте, поэтому append переносит его.

Варианты ответа

  1. p переместится в #b и исчезнет из #aправильный ответ
  2. В #b появится копия, оригинал останется в #a
  3. Будет ошибка: узел уже в документе
  4. Ничего не изменится, повторная вставка игнорируется

Разбор

Узел может находиться в дереве только в одном месте, поэтому append переносит его. Копию делает только cloneNode. Ошибки нет, вставка уже вставленного узла штатная операция. И она не игнорируется: узел действительно меняет родителя.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме