Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   insertAfter не могу понять принцип работы (https://javascript.ru/forum/misc/63440-insertafter-ne-mogu-ponyat-princip-raboty.html)

Spirtikys 07.06.2016 22:14

insertAfter не могу понять принцип работы
 
Добрый вечер.
Возник вопрос по заданию из книги.
https://gist.github.com/AndrewUstime...b1d946875d14aa

Следуя решению, используется body.firstChild и body.lastChild, не будет ли верным использовать body.firstElementChild и body.lastElementChild ?
Так же, не могу понять, следуя ответу на задачу, функция отрабатывает 2 раза, но, вставка происходит лишь 1 раз, то есть, как я понял, он переменная перемещается с 1 места в другое.
https://learn.javascript.ru/task/insert-after
Чтобы было 2 вставки, пришлось создать 2 переменных. Почему так происходит, почему он гоняет одну переменную из одно места в другое, а не вставляет ее копию?

Coriolan161 07.06.2016 22:48

Видчуй рiзницу:
.firstElementChild возвратит первую ноду, которая является ЭЛЕМЕНТОМ.
.firstChild возвратит то, чё первое будет у папы-узла.

После этого твои слова я не понял)
Наверно, тебя смутило то, что у Кантора в задаче написано:
// вставить elem после первого элемента
  insertAfter(elem, body.firstChild); // <--- должно работать

  // вставить elem за последним элементом
  insertAfter(elem, body.lastChild); // <--- должно работать

Это просто варики вызова функции.

Spirtikys 07.06.2016 23:28

Цитата:

Наверно, тебя смутило то, что у Кантора в задаче написано:
Да, именно это меня смутило. если первую часть понял, то что со второй, почему в решении вставка лишь 1 раз происходит?


Часовой пояс GMT +3, время: 16:16.