|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Nov 2010
Messaggi: 211
|
[Javascript] manipolazione DOM
http://www.w3schools.com/dom/books.xml
vorrei partire dalla lista nodi di elementi <book> per arrivare al primo nodo del primo elemento e scriverne il testo contenuto ("Everyday Italian") http://www.w3schools.com/dom/tryit.a...mentsbytagname Codice HTML:
<html> <head> <script type="text/javascript" src="loadxmldoc.js"></script> </head> <body> <script type="text/javascript"> xmlDoc=loadXMLDoc("books.xml"); document.write(xmlDoc.getElementsByTagName("book")[0].childNodes[0].childNodes[0].nodeValue); </script> </body> </html> ma non funziona, dove sbaglio? |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: May 2009
Messaggi: 186
|
A me quel codice funziona... perchè dici di no? Cosa ottieni?
|
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Nov 2010
Messaggi: 211
|
|
|
|
|
|
|
#4 |
|
Member
Iscritto dal: May 2009
Messaggi: 186
|
Sì questo l'avevo capito, ma cosa ottieni?
Ovvio che l'ho fatto, intendevo dire che il tuo codice funziona... |
|
|
|
|
|
#5 | |
|
Member
Iscritto dal: Nov 2010
Messaggi: 211
|
Quote:
io non ottengo niente, la pagina rimane bianca e nella console (Google Chrome) mi da un errore: Uncaught TypeError: Cannot read property 'nodeValue' of undefined - tryit_view.asp:9 mi sembra incredibile ma con IE9 anche a me va chissà perché Invece su Opera l'errore è diverso (ed anche li ottengo una pagina bianca): Uncaught exception: TypeError: Cannot convert 'xmlDoc.getElementsByTagName("book")[0].childNodes[0].childNodes[0]' to object Ultima modifica di biowep : 29-01-2012 alle 11:20. |
|
|
|
|
|
|
#6 |
|
Member
Iscritto dal: May 2009
Messaggi: 186
|
Come vedi, non era affatto impossibile... dipende dal browser. Ti conviene "spezzare" come fanno loro, probabilmente è una soluzione più universale.
|
|
|
|
|
|
#7 | |
|
Member
Iscritto dal: Nov 2010
Messaggi: 211
|
Quote:
http://www.w3schools.com/dom/dom_mozilla_vs_ie.asp Internet Explorer will NOT treat empty white-spaces, or new lines as text nodes, while other browsers will. quindi il codice per altri browser dovrebbe essere document.write(xmlDoc.getElementsByTagName("book")[0].childNodes[1].childNodes[0].nodeValue); prendo il primo elemento <book> [0], prendo il suo SECONDO figlio [1] (il primo è uno spazio bianco) e prendo il suo primo figlio [0] ovvero il suo contenuto se per caso fosse Codice HTML:
<title lang="en"> Everyday Italian </title> non so cosa ne pensiate voi ma in questo caso specifico mi sembra più corretta l'interpretazione di IE a prescindere dalle specifiche non ha senso prendere come elementi spazi e righe vuote che in html non hanno significato cmq cosa intendi con "spezzare"? vorrei rilevare i figlia alla maniera di internet explorer cioè saltando spazi e righe vuote |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:30.



















