zamień tekst kotwicy na jquery

86

chcę zamienić tekst kotwicy html:

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

teraz chcę zamienić tekst „kliknij, aby przejść do domu”

próbowałem tego:

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

ale to wszystko daje mi null lub pusty ciąg

Michel
źródło

Odpowiedzi:

141

Próbować

$("#link1").text()

aby uzyskać dostęp do tekstu wewnątrz elementu. # Oznacza, że ​​szukasz według id. Nie szukasz elementu podrzędnego, więc nie potrzebujesz dzieci (). Zamiast tego chcesz uzyskać dostęp do tekstu wewnątrz elementu, który zwraca funkcja jQuery.

Larry Lustig
źródło
1
Dzięki. Poczuj ulgę, że otrzymałem odpowiedź i bardzo głupio ... za wypróbowanie wszystkich różnych stwierdzeń, ale zapomnienie o znaku # ....
Michel
62

Aby odwołać się do elementu za pomocą identyfikatora, musisz użyć #kwalifikatora.

Próbować:

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

Aby go zastąpić, możesz użyć:

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

Ta .html()funkcja również zadziała w tym przypadku.

zombat
źródło
18
$('#link1').text("Replacement text");

.text()Metoda spada tekst przekazać go do zawartości pierwiastków. W przeciwieństwie do korzystania .html(), .text()w sposób dorozumiany ignoruje każdy osadzony znaczników HTML, więc jeśli trzeba osadzić jakiś inline <span>, <i>lub jakichkolwiek innych podobnych elementów, użyj .html()zamiast tego.

Spiczasty
źródło
4

Spróbuj tego, w przypadku id

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

LUB to, w przypadku klasy

$(".YourClassName").text('Your text');
Muhammad Attiq
źródło
-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());
    });
}
  • Pierwszy kod znajduje zastąpienie tytułu t.html(t.html()
  • Drugi kod zamienia tekst t.children(":first")

Próba <a title="alpc" href="#">alpc</a>

alpc
źródło
1
Chociaż kod w Twojej odpowiedzi może działać, powinieneś starać się stworzyć doskonałą odpowiedź, która wyjaśnia, dlaczego i jak to działa.
Ian Stapleton Cordasco