
Originariamente inviata da
KillerWorm
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.