Tofauti kati ya aina za pseudoaarrays katika JavaScript
Tofauti kati ya aina mbili za pseudoaarrays
iko katika tabia tofauti wakati wa kubadilisha vipengele vya DOM.
Hebu, kwa mfano, tumepata mkusanyiko wa aya
katika mfumo wa HTMLCollection na katika mfumo wa NodeList.
Kisha tutaunda na kuongeza aya nyingine
kwenye DOM yetu. Katika kesi hii, kiotomatiki
itaonekana kwenye HTMLCollection, lakini mkusanyiko
wa NodeList utabaki bila mabadiliko.
Wacha tuangalie kwa mfano. Hebu tuwe na div, na ndani yake kuna aya. Tutaipata div yetu na aya sawa katika mkusanyiko wa aina mbili tofauti:
let parent = document.querySelector('div');
let elems1 = document.getElementsByTagName('p'); // HTMLCollection
let elems2 = document.querySelectorAll('p'); // NodeList
Wacha tuongeze aya nyingine kwenye div yetu:
let p = document.createElement('p');
parent.append(p);
Matokeo yake, moja ya mikusanyiko itabadilika, na ya pili - haitabadilika:
console.log(elems1); // Aya 4 - na mpya
console.log(elems2); // Aya 3 za kwanza
Angalia jinsi sifa
children
itakavyokuwa wakati wa kuongeza kipengele kipya.
Angalia jinsi sifa
childNodes
itakavyokuwa wakati wa kuongeza kipengele kipya.