Javascript non riconosce il DOM

Pubblicità

ree-kee

Utente Attivo
Messaggi
3
Reazioni
0
Punteggio
24
« Salve a tutti, sono neo-iscritto; mi hanno parlato molto bene di questo sito e vi faccio perciò i miei complimenti per le vostre menti geniali e le capacità che possedete.
1.Sono un webdesigner e mi occupo poco di programmazione;
2.Sto studiando Javascript (che chiamo qui Js) da qualche mese e ho provato a sfruttare il DOM per implementare tutti quei begli effetti visivi sul browser quali movimenti/slide/cambi stile ecc.
3.Per verificare i miei piccoli script uso il semplice Blocco Note

Evitate commentacci a riguardo :), sperimenterò un programma più adatto appena avrò appreso l'ABC di Js...
4.Non uso Jquery, Prototype, Scriptacoulos ecc. come librerie. Si tratta di Js pulito e basico.
Ora, il problema è quanto segue:

var x=document.getElementById("id");
alert(x);


funziona soltanto dentro ad es. a una funzione:

function avviso(){
var x=document.getElementById("id");
alert(x);
}



È normale?
Sapete, alert(x) fuori dalla funzione mi restituisce null! :shock::shock:
Dentro alla funzione mi riconosce l'id del tag...

Ma come può essere?

getElementById
e via dicendo sono proprietà degli oggetti al punto da essere riconosciuti solo dentro un codice funzione? Non lo sapevo.

Grazie mille anticipatamente. »

RK
 
Ultima modifica:
NOTIFICA: c'è da aggiungere che il fatto che lo script, messo in un pulsante (onclick="...") viene letto conformemente dal DOM e questo mi perplime abbastanza...
 
Ultima modifica:
Soluzione!

:):) Ho risolto.

Non so come mai ma getElementById, come ad es. getElementsByTagName vengono riconosciuti nel DOM solamente dentro una function(){ ... }.

Insomma, in giro ci sono montagne di libri e manuali che non informano su questa particolarità del codice... :skept:
Per un noob quale sono io, solo a sbattere la testa s'impara... prima o poi.

Ps. Credevo mi avreste risposto più in fretta ma volevo porgere le mie scuse per come ho esordito nella discussione (che ho ormai modificato). Purtroppo cose basilari come questa se non risolte in fretta creano disagio alla programmazione (e al programmatore amatoriale!)

:ok:

Il dubbio sull'uso di queste proprietà del DOM al di fuori di una funzione tuttavia persiste in me. Non immaginavo fosse una regola così rigorosa.

RK
 
Ultima modifica:
:):):)
Grazie per non avermi calcolato minimamente!! : ))

Ho risolto.
Non so come mai ma i browser recenti non vogliono la dichiarazione di asseganzione variabile (var=).
Cioè, nell'esempio precedentemente citato, il codice funzionante è:

document.getElementById("Idricercato");
alert(Idricercato);

RESTITUISCE: [HTMLObject***Element] (*** è l'elemento HTML, tipo una img o un Input o qualunque cosa a cui sia assegnato l'Id).
nel caso di: alert(Idricercato.id);
RESTITUISCE: Idricercato (il nome dell'Id).

Insomma, montagne di libri e manuali che informano sul codice contengono ormai un'inesattezza... MAH!! :skept:



A sbattere la testa da soli s'impara... prima o poi.
Ps. Grazie dell'aiuto, comunque eh--- :P
:ok:


Ciao e benvenuto!

Non sentirti ignorato in quanto è molto probabile che tra ieri e oggi non sia stato qualcuno disponibile nel rispondere (e poi nessuno di noi è pagato per dare risposte entro x minuti e tanti di noi abbiamo anche un lavoro da fare) ...anche a me è successo di chiedere una cosa senza avere mai risposta, ma non mi sono mica offeso ;)

Stando al tuo problema, sono contento che hai risolto. Per fare il debug js ti consiglio di usare Firefox con installato Firebug e WebDeveloper come estensioni e di usare la consolle di errori dello stesso Firefox. Tantissime volte trovi l'errore in meno di 5 minuti. Per il resto, aggiorna un po' i tuoi browser, magari per quello che a volte ti vengono fuori errori di codice incompatibile...ora Firefox è alla versione 8 :)

Altrettanto consiglio di postare un stralcio di codice la prossima volta, spesso aiuta nell'avere una risposta più rapida...dalla stesura del tuo primo commento ho fatto fatica a comprendere il problema.
 
Pubblicità
Pubblicità
Indietro
Top