JavaScript HTML DOM Node lyste
Die HTML DOM NodeList Object
'n NodeList
Voorwerp is 'n lys (versameling) van nodusse wat uit 'n dokument onttrek is.
'n NodeList
Voorwerp is amper dieselfde as 'n HTMLCollection
voorwerp.
Sommige (ouer) blaaiers gee 'n NodeList-objek terug in plaas van 'n HTMLCollection vir metodes soos getElementsByClassName()
.
Alle blaaiers gee 'n NodeList-objek vir die eiendom terug childNodes
.
Die meeste blaaiers gee 'n NodeList-objek vir die metode terug querySelectorAll()
.
Die volgende kode kies alle <p>
nodusse in 'n dokument:
Voorbeeld
const myNodeList = document.querySelectorAll("p");
Die elemente in die NodeList kan verkry word deur 'n indeksnommer.
Om toegang tot die tweede <p> nodus te kry, kan jy skryf:
myNodeList[1]
Let wel: Die indeks begin by 0.
HTML DOM Node Lys Lengte
Die length
eienskap definieer die aantal nodusse in 'n noduslys:
Voorbeeld
myNodelist.length
Die length
eienskap is nuttig wanneer jy deur die nodusse in 'n noduslys wil lus:
Voorbeeld
Verander die kleur van alle <p>-elemente in 'n noduslys:
const myNodelist = document.querySelectorAll("p");
for (let i = 0; i < myNodelist.length; i++) {
myNodelist[i].style.color = "red";
}
Die verskil tussen 'n HTML-versameling en 'n nodelys
'n HTMLCollection
(vorige hoofstuk) is 'n versameling HTML-elemente.
A NodeList
is 'n versameling dokument nodusse.
'N NodeList en 'n HTML-versameling is baie dieselfde ding.
Beide 'n HTMLCollection-objek en 'n NodeList-objek is 'n skikking-agtige lys (versameling) van voorwerpe.
Albei het 'n lengte-eienskap wat die aantal items in die lys (versameling) definieer.
Albei verskaf 'n indeks (0, 1, 2, 3, 4, ...) om toegang tot elke item soos 'n skikking te verkry.
HTMLCollection-items kan verkry word deur hul naam, ID of indeksnommer.
NodeList-items kan slegs deur hul indeksnommer verkry word.
Slegs die NodeList-objek kan kenmerknodusse en teksnodes bevat.
'n Noduslys is nie 'n skikking nie!
'n Noduslys kan soos 'n skikking lyk, maar dit is nie.
Jy kan deur die noduslys loop en na sy nodusse verwys soos 'n skikking.
U kan egter nie Array-metodes, soos valueOf(), push(), pop() of join() op 'n noduslys gebruik nie.