Фарқият байни намудҳои ҷадвалҳои қалбакӣ дар JavaScript

Фарқият байни ду намуди ҷадвалҳои қалбакӣ дар рафтори гуногун ҳангоми тағйир додани унсурҳои DOM аст. Бигзор, масалан, мо коллексияи абзасҳоро дар шакли HTMLCollection ва дар шакли NodeList гирифтаем. Сипас мо абзаси дигар эҷод карда, ба DOM-и худ илова мекунем. Дар ин ҳолат, он ба таври худкор дар HTMLCollection пайдо мешавад, аммо коллексияи NodeList бе тағйирот хоҳад монд.

Биёед ба мисол нигарем. Бигзор мо як див дошта бошем, ва дар он абзасҳо бошанд. Див ва ҳамон абзасҳоро дар шакли коллексияҳои ду намуди гуногун ба даст меорем:

javascriptlet parent = document.querySelector('div');
let elems1 = document.getElementsByTagName('p'); // HTMLCollection
let elems2 = document.querySelectorAll('p');     // NodeList

Абзаси дигар ба диви худ илова мекунем:

javascriptlet p = document.createElement('p');
parent.append(p);

Дар натиҷа, яке аз коллексияҳо тағйир меёбад, ва дуввумӣ - на:

javascriptconsole.log(elems1); // 4 абзас - бо нави
console.log(elems2); // 3 абзаси ибтидоӣ
Задание 1

Санҷед, ки хосият children ҳангоми илова кардани унсури нав чӣ гуна рафтор хоҳад кард.

Задание 2

Санҷед, ки хосият childNodes ҳангоми илова кардани унсури нав чӣ гуна рафтор хоҳад кард.