salve a tutti
le domande in realtà sono 2...
1) TEORIA DEL NEXTSIBLING. Per quello che ne so io object.nextSibling dovrebbe restituire l'oggetto successivo che si trova sullo stesso livello (ossia non è un figlio) di object.
Secondo il mio browser invece pare di no
La mia pagina (per quello che ci interessa adesso) è fatta così:
Perché, una volta localizzato il link con getElementByTagName('a') devo fare una cosa tipo nomeLink.nextSibling.nextSibling (due volte) per beccare il DIV?codice:-- HTML -- testo 1 <div class="dettagli"> BLA BLA BLA BLA BLA BLA </div> -- JAVASCRIPT -- function toggle(object) { var detailBox = object.nextSibling.nextSibling; if(detailBox.style.display != 'none'){ object.style.background ="url('img/segnoPiu.gif') no-repeat 0 0"; detailBox.style.display = 'none'; } else { object.style.background ="url('img/segnoMeno.gif') no-repeat 0 0"; detailBox.style.display = 'block'; } } function initEffect() { var links = document.getElementsByTagName('a'); var i; for (i=0; i<links.length; i++) { if (links[i].getAttribute('class') == 'show') { // associo l'evento al click del mouse links[i].onclick = function() {toggle(this); return false;} // chiudo il contenuto per coloro che utilizzano il JS links[i].nextSibling.nextSibling.style.display='none'; links[i].style.background ="url('img/segnoPiu.gif') no-repeat 0 0"; } } } window.onload = function() { initEffect(); }
Eppure il DIV è il primo elemento che si trova sullo stesso livello del collegamento ipertestuale... NO?
2) PRATICA. Come faccio a far digerire il nextSibling a IE7?
grazie mille!