HTML and CSS Reference
In-Depth Information
il risultato ottenuto dagli esempi 2 e 4 è equivalente a quello ottenuto invocando ge-
tElementsByTagName ;
il risultato ottenuto dall'esempio 3 è equivalente a quello ottenuto invocando getE-
lementsByClassName ;
il risultato ottenuto dall'esempio 5 può essere ottenuto chiamando prima getEle-
mentsByTagName per recuperare tutti i tag div , poi ciclando sui tag ottenuti e
invocando nuovamente getElementsByTagName su ognuno di essi. Non mo-
streremo questo codice, ma risulta chiaro come il codice da scrivere sia maggiore
rispetto all'esempio 5;
il risultato ottenuto dall'esempio 6 può essere ottenuto chiamando prima getEle-
mentsByTagName , per recuperare tutti i tag div , poi ciclando sui tag ottenuti e,
per ognuno di essi, ciclare sui nodi figli (tramite la proprietà childNodes ), pren-
dendo solo quelli che rappresentano un tag p ). In questo caso il codice da scrivere
è ancora maggiore rispetto a quello necessario nell'esempio 5.
Questi esempi mostrano chiaramente che la versatilità di querySelector e querySe-
lectorAll ci permette di ottenere ciò che vogliamo con una quantità di codice minima.
Una volta recuperati dal DOM gli oggetti che ci servono, possiamo modificarli come
vogliamo. Per esempio, possiamo disabilitare il pulsante di conferma finché tutti i check-
box non sono selezionati oppure mostrare un tip all'utente quando imposta il focus su una
textbox.
Manipolare gli oggetti del DOM
Supponiamo di dover realizzare una form di login per gli utenti del nostro sito. Uno dei
requisiti è che il tasto login non deve essere abilitato finché username e password non sono
inserite. Il codice HTML della pagina è il seguente.
Esempio 8.7
<html>
<head>
<title></title>
</head>
<body>
<form action="">
 
Search WWH ::




Custom Search