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

    Sostituire testo al click con javascript

    Salve, vorrei poter sostituire il testo all'interno di un tag <a> quando viene fatto click su di esso, tramite javascript. Su internet ho letto tantissime guide al riguardo, ma facenti riferimento solo ai button.


    Esempio:
    codice:

    codice:
    <aid="show-div"href="#"onclick="returnfalse">VEDI<a/>
    <divid="content"style="display: none">VEDI NASCONDI</div>




    <script>
    $
    ("#show-div").click(function(){
    $
    ("#content").slideToggle(500);
    });
    </script>



    In pratica ho un div #content che viene mostrato facendo clic su #show-div e che lo stesso viene nascosto rifacendo nuovamente clic. La funzione non mi d� problemi, ma come faccio a sostituire il testo a #show-div quando #content viene aperto? Esempio: VEDI quando il div � chiuso, NASCONDI quando il div viene aperto.
    Ultima modifica di ciro78; 02-04-2017 a 18:28

  2. #2
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    ciao benvenuto sul forum
    se hai qualcosa da dire ai moderatori dilla in privato. non sul forum pubblico.

    detto questo leggi il regolamento con molta attenzione.

    questa volta ho pulito io la prossima volta si passa alla chiusura della discussione.
    per ogni altra spiegazione puoi scrivere in privato me o br1
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  3. #3
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Ciao e benvenuto, la tua richiesta potrebbe essere divisa in due principali parti: modificare il contenuto testuale di un semplice elemento html (in questo caso un tag <a>) e creare un sistema che alterna questo contenuto tra due diversi valori (in sostanza, un sistema toggle col testo).

    Non ti nego che si tratta di argomenti abbastanza semplici e ampiamente discussi sia qui sul forum che sul web, per i quali puoi trovare facilmente risposta con qualche ricerca.
    In tal caso, puoi usare dei termini di ricerca del genere: toggle html text jquery

    Su internet ho letto tantissime guide al riguardo, ma facenti riferimento solo ai button.
    Bene, capisco quindi che hai quantomeno un'infarinatura. Per me sarebbe molto semplice postare direttamente un codice bello e pronto, che fa ciò che stai chiedendo, ma preferisco darti solo qualche spunto così che tu possa arrivare da te ad una soluzione e capire come ci sei arrivato.

    Per modificare il contenuto di elementi HTML "non vuoti" si può usare la proprietà innerHTML in puro JavaScript, o il metodo html() in jQuery (o ancora, il metodo text(), se si tratta solo di testo). Per elementi "non vuoti" si intende quegli elementi che hanno un tag di apertura e uno di chiusura, e che possono quindi contenere dell'altro HTML (o semplicemente del testo), ad esempio il tuo elemento <a>. Questi differisco dagli elementi, cosiddetti, "vuoti", i quali non possono contenere dell'altro contenuto HTML; questo per chiarire il fatto che, ad esempio, in un elemento <input type="button"> (presumo ti riferissi a questo quando hai parlato di button) il valore testuale, all'interno del pulsante, non può essere impostato con innerHTML (o simili) ma è gestito attraverso il suo attributo value.

    Con jQuery, per "selezionare" il tuo elemento (a cui vuoi sostituire il testo), puoi usare lo stesso selettore $("#show-div") oppure l'istruzione this, dal momento che sei dentro una funzione che fa riferimento a quel determinato elemento.

    Per il sistema toggle puoi fare in vari modi. Uno dei metodo spesso utilizzati provvede l'uso dell'operatore ternario.
    Questa è la struttura:
    codice:
    <condizione> ? <istruzione1> : <istruzione2>
    Concettualmente, nel tuo caso avresti una situazione del genere:
    codice:
    <se il testo dell'elemento è uguale ad "A"> ? <assegna all'elemento il testo "B"> : <assegna all'elemento il testo "A">
    A te lo sviluppo

    Buon proseguimento.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  4. #4
    Quote Originariamente inviata da ciro78 Visualizza il messaggio
    ciao benvenuto sul forum
    se hai qualcosa da dire ai moderatori dilla in privato. non sul forum pubblico.

    detto questo leggi il regolamento con molta attenzione.

    questa volta ho pulito io la prossima volta si passa alla chiusura della discussione.
    per ogni altra spiegazione puoi scrivere in privato me o br1
    Ciao ciro78, grazie del benvenuto innanzitutto. Non succederà più.

  5. #5
    Quote Originariamente inviata da KillerWorm Visualizza il messaggio
    Ciao e benvenuto, la tua richiesta potrebbe essere divisa in due principali parti: modificare il contenuto testuale di un semplice elemento html (in questo caso un tag <a>) e creare un sistema che alterna questo contenuto tra due diversi valori (in sostanza, un sistema toggle col testo).

    Non ti nego che si tratta di argomenti abbastanza semplici e ampiamente discussi sia qui sul forum che sul web, per i quali puoi trovare facilmente risposta con qualche ricerca.
    In tal caso, puoi usare dei termini di ricerca del genere: toggle html text jquery


    Bene, capisco quindi che hai quantomeno un'infarinatura. Per me sarebbe molto semplice postare direttamente un codice bello e pronto, che fa ciò che stai chiedendo, ma preferisco darti solo qualche spunto così che tu possa arrivare da te ad una soluzione e capire come ci sei arrivato.

    Per modificare il contenuto di elementi HTML "non vuoti" si può usare la proprietà innerHTML in puro JavaScript, o il metodo html() in jQuery (o ancora, il metodo text(), se si tratta solo di testo). Per elementi "non vuoti" si intende quegli elementi che hanno un tag di apertura e uno di chiusura, e che possono quindi contenere dell'altro HTML (o semplicemente del testo), ad esempio il tuo elemento <a>. Questi differisco dagli elementi, cosiddetti, "vuoti", i quali non possono contenere dell'altro contenuto HTML; questo per chiarire il fatto che, ad esempio, in un elemento <input type="button"> (presumo ti riferissi a questo quando hai parlato di button) il valore testuale, all'interno del pulsante, non può essere impostato con innerHTML (o simili) ma è gestito attraverso il suo attributo value.

    Con jQuery, per "selezionare" il tuo elemento (a cui vuoi sostituire il testo), puoi usare lo stesso selettore $("#show-div") oppure l'istruzione this, dal momento che sei dentro una funzione che fa riferimento a quel determinato elemento.

    Per il sistema toggle puoi fare in vari modi. Uno dei metodo spesso utilizzati provvede l'uso dell'operatore ternario.
    Questa è la struttura:
    codice:
    <condizione> ? <istruzione1> : <istruzione2>
    Concettualmente, nel tuo caso avresti una situazione del genere:
    codice:
    <se il testo dell'elemento è uguale ad "A"> ? <assegna all'elemento il testo "B"> : <assegna all'elemento il testo "A">
    A te lo sviluppo

    Buon proseguimento.
    Ciao KillerWorm, grazie innanzitutto per i consigli. Diciamo che di javascript ho giusto qualche LIEVE infarinatura :-D Per questo motivo incontro spesso difficoltà nel suo utilizzo, rivolgendomi alla rete. Credo comunque di aver capito cosa intendi, provo ed eventualmente ti do l'esito.
    Esatto, mi riferivo proprio al pulsante. Gestendo il testo con value, tramite uno script che avevo trovato in rete ed arrangiato secondo le mie esigenze, il tutto funzionava. Il problema è che se da un lato il testo cambiava come da me indicato, dall'altro lato la funzione toggle aveva smesso di funzionare e il div non si apriva più. Ad ogni modo a me servirebbe poterlo fare con un tag <a> piuttosto che <input>. Provo e ti faccio sapere

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.