Код работает, мне все нравится, только я хотела бы разъяснить некоторые моменты:
1)
input = document.createElement("input"); - это создается класс
input, в котором создается новый элемент
input
input.setAttribute("type", "text"); - в классе
input вызывается метод, устанавливающий значение атрибута и значение
text
я правильно понимаю?
2) sub.appendChild(document.createTextNode(i)); - в класс sub добавляется новый элемент к детям существующего элемента
существующий элемент это sub? А "дети" в данном примере это что?
3)
document.createTextNode(i) - создается текст "i"
в 44 строке :
sub.innerHTML = i; - присваивает HTML i
в чем разница? в том, что в
createTextNode текста в принципе до этого не существовало и его создают в первый раз, а
innerHTML присваивается уже существующий?
4) строка 18:
в классе but вызывается метод Onclick, к которому привязана функция (i), которая возвращает функцию Proverka?
не очень понятно про функцию (i)
Proverka(this.parentNode, i) -что такое parentNode?
but.onclick = (function(i) { return function() { Proverka(this.parentNode, i); } })(i);
интересует вот это
(i) в конце.
Получается, что структура вызова выглядит так:
onclick=(...)(i) ?
5) поясните пожалуйста строку 35.
el.children[1]
-то, что в квадратных скобках, это же ,буква "l"?
и почему скобки квадратные? это массив?
6) почему-то при вводе в качестве значения узла "0" выдается сообщение, что "Введенное значение не является числом".
Ноль-это все же число=)
7) при вводе узлов подписывается x0, x1 ... цифры записаны шрифтом поменьше как индексы.
Очень удобно, мне интересно, в каком месте в коде прописан тот момент, что цифры должны быть другого размера?
Разъясните пожалуйста