Newsgroup: it.comp.lang.javascript
Titolo: IE non sa contare... :-)

Ho una tabella:
	<table id="foo">
		<tr> <th>Id</th> ... </tr>
		<tr> <td>01</td> ... </tr>
		<tr> <td>02</td> ... </tr>
	</table>
Eseguo poi questo codice:
	tds = document.getElementById('foo').getElementsByTagName('td');
	alert (tds.length);
Firefox mi dà 51, il numero corretto dei <td>. IE7 mi dà... 0! :-(
Dove sbaglio?
Comunque JS è un inferno per chi è agli inizi. :-)
Ti meravigli perché non ci sono errori e tutto funziona come deve su FF,
vai a provarlo su IE e non funziona più come volevi. Magari in questo
caso sono effettivamente io a sbagliare qualcosa, però vorrei tanto che
quando sbaglio non funzionasse su alcun browser. :-/
Siccome su FF funziona, e non ho idea del perché su IE no, chiedo a voi.
Buona serata,
Mauro
ps. ho appena provato con Opera e... anche lui mi dà 0. Non me lo
aspettavo da Opera. A questo punto direi che sono io ad usare un codice
che non dovrei, ma non capisco cos'è che non va...

 Dove sbaglio?
Sbaglio nel non prendermi una pausa! :-)
A causa di precedenti prove, avevo inserito un altro elemento (una
select) con l'attributo *name* uguale all'*id* della tabella ('foo').
IE e Opera referenziano la <select> e di conseguenza non trovano alcun
<td> al suo interno.
Firefox - giustamente, secondo me - referenziava la tabella.
In pratica, dato questo html:
<select name='foo'> ... </select>
<table id='foo'> ... </table>
In JS un document.getElementById('foo') restituisce la <select> in IE e
Opera, evidentemente perché trattano *id* e *name* allo stesso modo. :-/
Per questo motivo, le mie considerazioni su JS rimangono valide. :-)
In genere non uso mai gli stessi nomi, ma in questo caso mi è sfuggito.
Ora però vado a pranzare. :)
Saluti
Mauro

 Firefox mi dà 51, il numero corretto dei <td>. IE7 mi dà... 0! :-(
Curioso, IE6 restituisce 51.
Ti suggerirei di controllare se ad un certo punto della tabella scrivi male
qualcosa ma in tal caso mi aspetterei piuttosto che Firefox s'inceppasse e
non IE...

 Ora perņ vado a pranzare. :)
A pranzare alle 20.50? Hai un diverso fuso orario, o ti sei confuso
con la cena? ^_^;
-- 
~ Se i sintomi persistono, insultare il medico.

 con la cena? ^_^;
http://www.demauroparavia.it/85765
Iteressante la 1b :)
-- 
Nando [?]
Apostolo della Prova

 Iteressante la 1b :)
Certo lo so: Ma dimmi, ti pare questo un "ricevimento ufficiale" o un
"pasto di gala"? :)


 "pasto di gala"? :)
Se lo fosse, mi caccerebbero per quanto sono sbracato :)


 Se lo fosse, mi caccerebbero per quanto sono sbracato :)
E chi lo farebbe, questa è un autogestione...! :D


 non IE...
Come ho spiegato mentre inviavi la risposta, il problema era che avevo
due elementi con name/id uguali. E per IE e Opera sono la stessa cosa.
Ciao.
Mauro
ps. prima di *cenare* ero in evidente stato confusionario ;-)

 ps. prima di *cenare* ero in evidente stato confusionario ;-)
Ma non era pranzo? Non saresti l'unico a usarlo. Ma poi è pranzo con la
(ts)eta o con la (ds)eta?
;)

 resiste. :P
Sarebbe un discorso lungo che non è il caso di fare in un ng su
javascript... ma spero che il "mi sta togliendo la voglia di vivere" sia
scherzosamente forzato.


 (ts)eta o con la (ds)eta?
Google is your friend (cit):
http://www.attori.com/dizione/Diz11.htm


 scherzosamente forzato.
Va' tranquillo, ho inserito lo smile apposta. In parte è indubbiamente
ero ciò che ho scritto, ma non leggerlo nella sua forma drammatica. :)
-- 
~ "Le parole uccidono più delle pallottole.
Ma le pallottole arrivano prima."
(Raffaele Cutolo)

 [link dal quale si deduce che trattasi si zeta "dolce"]
Come - del resto - insegna anche Guccini. :)

 Hint - cerca su google: the answer to life, the universe and everything
Eh, vabbé, così non c'è gusto...
-- 
~ "Il giusto altro non è che l'utile del più forte."
(Trasimaco)