Erinevus JavaScripti pseudomassiivide tüüpide vahel
Erinevus kahe pseudomassiivi tüübi vahel
on DOM elementide muutmisel erinevas käitumises.
Oletame näiteks, et saime kogu lõigete kogumi
kujul HTMLCollection ja kujul NodeList.
Seejärel loome ja lisame veel ühe lõigu
meie DOMi. Sel juhul ilmub see automaatselt
HTMLCollection'isse, kuid kogu
NodeList jääb muutumatuks.
Vaatame näidet. Olgu meil div ja selles lõigud. Saame meie divi ja samad lõigud kahe erineva tüübi kollektsioonidena:
let parent = document.querySelector('div');
let elems1 = document.getElementsByTagName('p'); // HTMLCollection
let elems2 = document.querySelectorAll('p'); // NodeList
Lisame meie divi veel ühe lõigu:
let p = document.createElement('p');
parent.append(p);
Tulemusena üks kollektsioonidest muutub, kuid teine - ei:
console.log(elems1); // 4 lõiget - uuega
console.log(elems2); // 3 algset lõiget
Kontrollige, kuidas käitub omadus
children
uue elemendi lisamisel.
Kontrollige, kuidas käitub omadus
childNodes
uue elemendi lisamisel.