sostituire il testo di ancoraggio con jquery


86

voglio sostituire il testo di un ancoraggio html:

<a href="index.html" id="link1">Click to go home</a>

ora voglio sostituire il testo "fai clic per tornare a casa"

ho provato questo:

alert($("link1").children(":first").val());
alert($("link1").children(":first").text());
alert($("link1").children(":first").html());

ma tutto mi dà null o una stringa vuota

Risposte:


141

Provare

$("#link1").text()

per accedere al testo all'interno del tuo elemento. Il # indica che stai cercando per ID. Non stai cercando un elemento figlio, quindi non hai bisogno di bambini (). Invece vuoi accedere al testo all'interno dell'elemento restituito dalla tua funzione jQuery.


1
Grazie. Mi sento sollevato di avere la risposta e molto stupido ... per aver provato tutte le diverse affermazioni ma dimenticando il segno # ...
Michel

62

Per fare riferimento a un elemento tramite ID, è necessario utilizzare il #qualificatore.

Provare:

alert($("#link1").text());

Per sostituirlo, potresti usare:

$("#link1").text('New text');

La .html()funzione funzionerebbe anche in questo caso.


18
$('#link1').text("Replacement text");

Il .text()metodo rilascia il testo che lo passi nel contenuto dell'elemento. A differenza di .html(), .text()ignora implicitamente qualsiasi incorporati HTML markup, quindi se avete bisogno di incorporare un po 'in linea <span>, <i>o qualsiasi altri elementi simili, l'uso .html()invece.


4

Prova questo, in caso di id

$("#YourId").text('Your text');

O questo, in caso di lezione

$(".YourClassName").text('Your text');

-1
function liReplace(replacement) {
    $(".dropit-submenu li").each(function() {
        var t = $(this);
        t.html(t.html().replace(replacement, "*" + replacement + "*"));
        t.children(":first").html(t.children(":first").html().replace(replacement, "*" +` `replacement + "*"));
        t.children(":first").html(t.children(":first").html().replace(replacement + " ", ""));
        alert(t.children(":first").text());
    });
}
  • Il primo codice trova una sostituzione del titolo t.html(t.html()
  • Il secondo codice sostituisce un testo t.children(":first")

Campione <a title="alpc" href="#">alpc</a>


1
Sebbene il codice nella tua risposta possa funzionare, dovresti sforzarti di creare una risposta eccellente che spieghi perché e come funziona.
Ian Stapleton Cordasco
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.