Dallimi midis llojeve të pseudoarray-ve në JavaScript

Dallimi midis dy llojeve të pseudoarray-ve është në sjelljen e ndryshme kur ndryshojnë elementet DOM. Le, për shembull, të kemi marrë një koleksion paragrafësh në formën HTMLCollection dhe në formën NodeList. Pastaj do të krijojmë dhe shtojmë një paragraf tjetër në DOM-in tonë. Në këtë rast, ai automatikisht do të shfaqet në HTMLCollection, por koleksioni NodeList do të mbetet i pandryshuar.

Le të shohim një shembull. Le të kemi një div, dhe brenda tij paragrafë. Le të marrim div-in tonë dhe të njëjtat paragrafë në formën e koleksioneve të dy llojeve të ndryshme:

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

Le të shtojmë një paragraf tjetër në div-in tonë:

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

Si rezultat, njëra nga koleksionet do të ndryshojë, ndërsa e dyta - jo:

javascriptconsole.log(elems1); // 4 paragrafë - me të rin
console.log(elems2); // 3 paragrafë fillestarë
Задание 1

Kontrolloni se si do të sillet vetia children gjatë shtimit të një elementi të ri.

Задание 2

Kontrolloni se si do të sillet vetia childNodes gjatë shtimit të një elementi të ri.