Terzo capitolo del corso di javascript non intrusivo. Primo, pulire il codice. Secondo, accedere agli elementi. Terzo: creare, distruggere e modificare elementi.
Capitolo 3: Creare e distruggere contenuto
La maggiore forza del DOM è la possibilità non solo di leggere, ma anche di alterare il contenuto e la struttura di un documento. Per questo abbiamo diversi metodi a nostra disposizione.
Creare nuovo contenuto
createElement(element)
crea un nuovo elemento
createTextNode(string)
crea un nuovo nodo di testo con valore string
I nuovi elementi creati non sono aggiunti al documento immediatamente, ma restano nel limbo finchè non verranno inseriti da qualche parte nell’albero dei nodi. Queste funzioni sono da applicare al document object piuttosto che a un nodo.
Javascript:
Alterare il contenuto esistente
setAttribute(attribute,value)
aggiunge un nuovo attributo con valore value all’oggetto.
appendChild(child)
aggiunge child come childNode all’oggetto object.
child deve essere un oggetto, non può essere una stringa.
cloneNode()
copia l’intero nodo con tutti i childNodes.
hasChildNodes()
controlla se l’oggetto possiede childNodes, restituendo true in caso affermativo.
insertBefore(newchild,oldchild)
aggiunge newchild prima di oldchild all’albero del documento.
removeChild(oldchild)
rimuove il childnode oldchild.
replaceChild(newchild, oldchild)
sostituisce oldchild con newchild.
removeAttribute(attribute)
rimuove l’attributo attribute dall’oggetto.
Esempio: immagini
Immaginiamo di avere collegamenti a delle immagini, e che questi collegamenti debbano aprirsi in una nuova finestra nei browser senza Javascript, o sotto il link quando Javascript è disponibile.
HTML:
Ora, quando Javascript e il DOM sono disponibili, noi vogliamo:
- Eliminare il testo “(new window)” dai collegamenti
- Aggiungere un gestore di eventi per chiamare la funzione popw()
Questa funzione dovrebbe
- Mostrare l’immagine collegata sotto il collegamento, nel caso non sia già visibile.
- Rimuovere l’immagine, se già presente (per evitare che il collegamento aggiunga immagini più volte).
- Far scomparire l’immagine quando l’utente esegue un click sopra di essa
Il primo problema non è difficile da risolvere:
Javascript:

2 commenti
Ciao, nel caso in cui volessi gestire un menu a tendina:
….
Come mi devo comportare??
se ho capito bene cerchi una cosa simile a http://www.onlinetools.org/tools/yadm/ , che è uno dei nostri preferiti, oltre ad essere creato dall’autore del corso che stai commentando.
il mio consiglio comunque è quello di imparare a cercare le cose su google, prima di fare domande in questo modo… se provi http://www.google.com/search?q=javascript+drop+down+menu noterai qualcosa come 85 *milioni* di risposte, molte più di quelle che possiamo dare noi o altri blog.