remplacer le texte d'ancrage par jquery

86

je veux remplacer le texte d'une ancre html:

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

maintenant je veux remplacer le texte "cliquez pour rentrer à la maison"

j'ai essayé ceci:

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

mais tout me donne une chaîne nulle ou vide

Michel
la source

Réponses:

141

Essayer

$("#link1").text()

pour accéder au texte à l'intérieur de votre élément. Le # indique que vous effectuez une recherche par identifiant. Vous ne recherchez pas d'élément enfant, vous n'avez donc pas besoin de children (). Au lieu de cela, vous souhaitez accéder au texte à l'intérieur de l'élément renvoyé par votre fonction jQuery.

Larry Lustig
la source
1
Merci. Je suis soulagé d'avoir la réponse, et très stupide ... pour avoir essayé toutes les différentes déclarations mais en oubliant le # -sign ....
Michel
62

Pour référencer un élément par identifiant, vous devez utiliser le #qualificatif.

Essayer:

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

Pour le remplacer, vous pouvez utiliser:

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

La .html()fonction fonctionnerait également dans ce cas.

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

La .text()méthode supprime le texte que vous lui transmettez dans le contenu de l'élément. Contrairement à l' utilisation .html(), .text()ne tient pas compte implicitement tout HTML intégré balisage, donc si vous avez besoin d'intégrer une ligne <span>, <i>ou tout autre éléments similaires, l' utilisation à la .html()place.

Pointu
la source
4

Essayez ceci, en cas d'identifiant

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

OU ceci, en cas de cours

$(".YourClassName").text('Your text');
Muhammad Attiq
la source
-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());
    });
}
  • Premier code trouver un titre remplacer t.html(t.html()
  • Deuxième code un texte remplacer t.children(":first")

Échantillon <a title="alpc" href="#">alpc</a>

alpc
la source
1
Bien que le code de votre réponse puisse fonctionner, vous devez vous efforcer de créer une excellente réponse qui explique pourquoi et comment cela fonctionne.
Ian Stapleton Cordasco