Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Visibilità&uso variabili

    salve,
    in un mio js ho molti getElementById("Stringa..."), molti anke ripetuti sullo stesso ID (elementi di una estensione di firefox).
    Allora mi sono detto: faccio 1 funzione adhoc e un file js di "entità" procedendo così:

    Codice PHP:
    function gbid(idstring){
      return 
    window.document.getElementById(idstring);
    };

    //entità
    _myheader gbid("myheader");
    _myfooter gbid("myfooter"); 
    e di fare sostituzioni nel codice da:
    Codice PHP:
    window.document.getElementById("elemento").value "prova"
    a

    Codice PHP:
    _elemento.value "prova"
    ma quest'ultima istruzione non va. Ovviamente se invece faccio un semplice

    Codice PHP:
    gbid("elemento").value "prova"
    funziona tutto.

    Come mai?

    Nel caso non fosse possibile fare quello ke ho fatto, ci sono metodi alternativi per avere una lista di nomi simbolici ke is riferiscano a elementi con precisi ID nella pagina?
    GRAZIE!

  2. #2
    ovvio che

    _elemento

    fa riferimento ad una variabile che si chiama proprio "_elemento". Javascript non puo' leggerti nel pensiero e capire che cio' che vuoi e' un riferimento all'elemento con id "elemento" (i nomi da te usati non facilitano la spiegazione).

    La soluzione che tu hai creato di fare una funzione apposita e' la piu' usata. Non mi pare poi molto piu' lungo fare

    gbid("elemento").value = "prova";

    al posto di

    _elemento.value = "prova";

    da cio' che ho visto in giro inoltre alcuni framework chiamano quella funzione semplicemente $

    cosi' fai

    $("elemento").value = "prova";

    Non capisco invece cosa intendi per
    ci sono metodi alternativi per avere una lista di nomi simbolici ke is riferiscano a elementi con precisi ID nella pagina?
    L'ID e' univoco e quindi non puoi avere una lista ma un solo elemento. (Il fatto che in IE name e id condividano il namespace e' un'altra questione)

  3. #3

    http://mtbvulture.net

    Originariamente inviato da raven74
    ovvio che

    _elemento

    fa riferimento ad una variabile che si chiama proprio "_elemento". Javascript non puo' leggerti nel pensiero e capire che cio' che vuoi e' un riferimento all'elemento con id "elemento" (i nomi da te usati non facilitano la spiegazione).
    ...che è esattmente la variabile _elemento che ho definito con:

    _elemento = window.document.getElementById("elemento);

    precedentemente inserita[/quote]

    Non capisco invece cosa intendi per...
    Lo so che l'ID è unico.. volevo fare una cosa tipo "lista di entità", che ad es in rdf si fà con le !ENTITY (se ricordo bene)... cioè nomi simbolici che rappresentino nodi di dom e sostituibili ad essi in tutti gli effetti per brevità.
    Riassumendo, al solito voglio poter usare qcs tipo:

    _oggetto

    invece che

    window.document.getelementbyid("oggetto");

    GRAZIE!


    PS: Sapete se la sintassi $("id_da_ricercare") è nativa di js/dom o è proprietaria di qc framework? E' un pò inutile x quello ke devo fare importare un mootools solo x avere la $()... nel caso fosse proprietaria dove posso vedere com'è implementata così da usare solo quel pezzo?
    grazie



    ___________________________
    CHE DOMANDA STUPIDA!!
    ____________________________

    Soluzione (per ora):

    function $(id){
    return document.getElementById(id);
    }


    $('id elemento').style.display="none";

    ____________________________


    Resta cmq il dubbio di xkè faccia quel comporamento in quell'altro modo...

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649

    Re: http://mtbvulture.net

    Originariamente inviato da magonicola
    ...che è esattmente la variabile _elemento che ho definito con:

    _elemento = window.document.getElementById("elemento);

    precedentemente inserita
    eh, ma precedentemente quando?
    se l' elemento non ancora e' stato definito dara' errore
    cosi' come qualsiasi riferimento successivo a _elemento

    se definisci _elemento quando l' elemento con id="elemento" e' gia' presente nel markup non avrai errori, solitamente per questo si fanno eseguire funzioni del genere solo all' onload,
    una volta che il documento e' stato caricato
    (o quando almeno l' xhtml e' stato caricato)

  5. #5

    Re: Re: http://mtbvulture.net

    Originariamente inviato da Xinod
    eh, ma precedentemente quando?
    se l' elemento non ancora e' stato definito dara' errore
    cosi' come qualsiasi riferimento successivo a _elemento

    se definisci _elemento quando l' elemento con id="elemento" e' gia' presente nel markup non avrai errori, solitamente per questo si fanno eseguire funzioni del genere solo all' onload,
    una volta che il documento e' stato caricato
    (o quando almeno l' xhtml e' stato caricato)
    umm.. mi sa ke è kiaro l'inghippo:
    io definivo tutte le var del tipo

    _variabile = gbid("variabile");

    all'inizio del js (ovviamente dopo la funzione gbid) per farle essere "globali".

    Il fatto è ke il JS nell'estensione di firefox è in una specie di Header, quindi quando viene kiamato, e quindi quando inizializza le variabili, queste non sanno ki è l'elemento con id "taldeitali" xkè l'interfaccia non è ancora caricata.

    Come posso risolvere? Vabè che cmq con $("") và + ke bene...

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 © 2025 vBulletin Solutions, Inc. All rights reserved.