JavaScript-də psedomassiv tipləri arasındakı fərq
Iki psedomassiv tipi arasındakı fərq
DOM elementləri dəyişdikdə müxtəlif davranışlardadır.
Məsələn, tutaq ki, biz abzaslar kolleksiyasını
HTMLCollection və NodeList şəklində əldə etdik.
Sonra biz yeni bir abzas yaradıb
DOM-a əlavə etdik. Bu halda, o avtomatik olaraq
HTMLCollection-də görünəcək, lakin
NodeList kolleksiyası dəyişməz qalacaq.
Gəlin bir nümunəyə baxaq. Tutaq ki, bizim bir divimiz və onun içində abzaslar var. Divi və eyni abzasları iki müxtəlif tipdə kolleksiyalar şəklində əldə edək:
let parent = document.querySelector('div');
let elems1 = document.getElementsByTagName('p'); // HTMLCollection
let elems2 = document.querySelectorAll('p'); // NodeList
Divimizə yeni bir abzas əlavə edək:
let p = document.createElement('p');
parent.append(p);
Nəticədə kolleksiyalardan biri dəyişəcək, digəri isə dəyişməz qalacaq:
console.log(elems1); // 4 abzas - yeni ilə birlikdə
console.log(elems2); // 3 ilkin abzas
children xassəsinin
yeni element əlavə edildikdə necə davranacağını yoxlayın.
childNodes xassəsinin
yeni element əlavə edildikdə necə davranacağını yoxlayın.