Rozdíl mezi typy pseudopole v JavaScriptu

Rozdíl mezi dvěma typy pseudopole je v různém chování při změně DOM elementů. Předpokládejme, že jsme získali kolekci odstavců jako HTMLCollection a jako NodeList. Poté vytvoříme a přidáme další odstavec do našeho DOM. V tomto případě se automaticky objeví v HTMLCollection, ale kolekce NodeList zůstane beze změn.

Podívejme se na příklad. Mějme div a v něm odstavce. Získáme náš div a stejné odstavce jako kolekce dvou různých typů:

javascriptlet parent = document.querySelector('div');
let elems1 = document.getElementsByTagName('p'); // HTMLCollection
let elems2 = document.querySelectorAll('p');     // NodeList

Přidejme další odstavec do našeho divu:

javascriptlet p = document.createElement('p');
parent.append(p);

V důsledku toho se jedna kolekce změní, a druhá - ne:

javascriptconsole.log(elems1); // 4 odstavce - s novým
console.log(elems2); // 3 počáteční odstavce
Задание 1

Ověřte, jak se bude chovat vlastnost children při přidání nového elementu.

Задание 2

Ověřte, jak se bude chovat vlastnost childNodes při přidání nového elementu.