Salve!
Sto cercando di creare una paginetta html, in cui tramite del javascript faccio "apparire" o "scomparire" del testo al suo interno.
La cosa in se è facile e funziona, ma la difficoltà sta in questo: non riesco a leggere il testo delle ancore.
Devo cioè far sì che accanto alla scritta identificante il link appaia la scritta CHIUDI: (testo link) che scompaia quando si fa click sul link.
La cosa è facile di per se, ma quando vado a scrivere il testo del link mi da undefined, ecco il listato:
L'errore mi arriva quando apro la pagina e mi da un errore "sezione" indefinita, in pratica non trova getElementById('menu') dentro il testo della pagina e non capisco perché.codice:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it" lang="it" dir="ltr"> <head> <script type='text/javascript'> function getEl(id) { element = document.getElementById(id); return element; } function scambio(num){ if (document.getElementById) { if(getEl('notizia'+num).style.display == 'none') { getEl('notizia'+num).style.display = 'block'; getEl(num).innerHTML = 'CHIUDI: ' + testo_link; } else { getEl('notizia'+num).style.display = 'none'; getEl(num).innerHTML = testo_link[num]; } } } // MAIN FUNCTION var testo_link = ''; var sezione = getEl('menu'); var ancore = sezione.getElementsByTagName('a'); for (var i = 0; i < ancore.length; i++) { testo_link[i] = document.getElementById(i).textContent; } </script> </head> <body> <ul id='menu'> [*]articolo 0 [*]articolo 1 [*]articolo 2[/list] <div id='notizia0' style='display: none'>notizia nascosta 0</div> <div id='notizia1' style='display: none'>notizia nascosta 1</div> <div id='notizia2' style='display: none'>notizia nascosta 2</div> </body> </html>
Chiedete ciò che non capite, dato che mi rendo conto di essere stato poco chiaro, ma sono un po' confuso anche io in questa fase.
M.

Rispondi quotando