НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
⊗jsSpPATD 50 of 294 menu

Разница между типами псевдомассивов в 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 при добавлении нового элемента.

Русский
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить