JavaScript-тегі жалған массивтер типтерінің айырмашылығы
Екі түрлі жалған массив типтерінің айырмашылығы
DOM элементтерін өзгерткендегі әртүрлі мінез-құлықта.
Мысалы, біз абзацтар жиынтығын
HTMLCollection және NodeList түрінде алдық делік.
Содан кейін біз тағы бір абзац жасап,
оны DOM-ға қосамыз. Бұл жағдайда ол автоматты түрде
HTMLCollection-да пайда болады,
бірақ NodeList жиынтығы өзгеріссіз қалады.
Мысалға қарайық. Бізде див болсын, оның ішінде абзацтар бар. Біз дивімізді және бірдей абзацтарды екі әртүрлі типтегі жиынтықтар түрінде аламыз:
let parent = document.querySelector('div');
let elems1 = document.getElementsByTagName('p'); // HTMLCollection
let elems2 = document.querySelectorAll('p'); // NodeList
Дивімізге тағы бір абзац қосамыз:
let p = document.createElement('p');
parent.append(p);
Нәтижесінде бір жиынтық өзгереді, ал екіншісі - өзгермейді:
console.log(elems1); // 4 абзац - жаңасымен бірге
console.log(elems2); // 3 бастапқы абзац
children сипаты
жаңа элемент қосқанда қалай әрекет ететінін тексеріңіз.
childNodes сипаты
жаңа элемент қосқанда қалай әрекет ететінін тексеріңіз.