Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1

    Chiamare getElementById() da una libreria

    Ho notato che se eseguo questo codice dal documento stesso:

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

    Va tutto bene. Ma se eseguo questo da un file esterno:

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

    Vede document, ma il secondo alert mi dà null. Questo almeno con Firefox.

    Perchè???? E soprattutto, come cavolo faccio a chiamare getElementById() da una libreria esterna??

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133

    Re: Chiamare getElementById() da una libreria

    Originariamente inviato da in the web
    .. da una libreria esterna??
    Cos'è per te una libreria esterna, una cosa tipo questa
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Battute da informatici... tipo "mi hanno hackerato la ragazza"...
    Se invece la domanda era seria, una libreria è una racconta di funzioni / oggetti. Ho scritto esterna perchè è in un file .js e non nel file html, e il problema sembra proprio essere questo.
    A nessuno è mai capitato di usare .getElementById() in una libreria??

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Non capendo il problema (e avendo quasi finito le batutte) lascio agli esperti di librerie (astenersi falegnami) di aiutarti.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Al 90% quel getElementById lo stai chiamando prima che il DOM sia ready.
    max

    Silence is better than bullshit.
    @mmarcon
    jHERE, Maps made easy

  6. #6
    Mi dispiace se non sono stato chiaro.

    Il problema è questo: c'è un file .html che "include" un file .js. Il file .js ha bisogno di chiamare document.getElementById(), ma non funziona. Come ho detto, se per provare eseguo questo codice nel file .js:

    alert(document);
    alert(document.getDocumentById("boxMain"));

    ...vedo che il primo alert dà il risultato che mi aspetto (Object HTMLDocument), ma il secondo mi dà null. Questo avviene solo se eseguo il codice nel file .js, perchè se lo metto nel documento html non c'è problema (quindi sì, boxMain esiste).
    Allora chiedo: come posso chiamare document.getDocumentById("boxMain") nel file js, e ottenere l'oggetto dom invece di null??

    Se non sono stato chiaro neanche stavolta ci rinuncio, andrò a fare un corso di italiano

  7. #7
    Originariamente inviato da mxa
    Al 90% quel getElementById lo stai chiamando prima che il DOM sia ready.
    Ma che idiota che sono, hai ragione! Si può includere il file .js solo quando il dom è caricato?

  8. #8
    Googla un pochino per vedere come implementare la callback per quando il DOM è ready, oppure chiama la tua funzione che accede al DOM su window.onload
    max

    Silence is better than bullshit.
    @mmarcon
    jHERE, Maps made easy

  9. #9
    Ma che idiota che sono, hai ragione! Si può includere il file .js solo quando il dom è caricato?

  10. #10
    Puoi ad esempio vedere come è implementato in jQuery:
    http://james.padolsey.com/jquery/#v=...uery.bindReady
    max

    Silence is better than bullshit.
    @mmarcon
    jHERE, Maps made easy

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.