Autor Zpráva
err
Profil *
Ahoj,
když vybírám prvky pomocí queryselector / All, a ty prvky smažu a potom jim budu chtít přidat třídu tak se nevyvolá žádná chyba... proč? Ty prvky jsou pořád v paměti???

<!DOCTYPE html>
<html>
<body>
<h1>The Document Object</h1>
<h2>The querySelectorAll() Method</h2>

<p>Add a background color all elements with class="example":</p>
<h2 class="example">A heading</h2>
<p class="example">A paragraph.</p> 

<script>
const nodeList = document.querySelectorAll(".example");
for (let i = 0; i < nodeList.length; i++) {
  nodeList[i].remove();
}
for (let i = 0; i < nodeList.length; i++) {
  nodeList[i].style.backgroundColor = "red";
}
console.log(nodeList);
console.log("ok");
</script>

</body>
</html>
Firibix
Profil
Reakce na err:
Ano, elementy se odstraní z DOMu, ale zůstanou uložené v seznamu nodeList. Dokonce je lze do stránky zase vrátit.
Keeehi
Profil
err:
Ty prvky jsou pořád v paměti?
Tak nějak ano. Protože querySelectorAll vrací statický NodeList. NodeList - Web APIs | MDN » Live vs. Static NodeLists

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0