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

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.


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.


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.


4

Essayez ceci, en cas d'identifiant

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

OU ceci, en cas de cours

$(".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());
    });
}
  • 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>


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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.