reemplace el texto de anclaje con jquery

86

quiero reemplazar el texto de un ancla html:

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

ahora quiero reemplazar el texto 'haga clic para ir a casa'

he intentado esto:

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

pero todo me da nulo o una cadena vacía

Michel
fuente

Respuestas:

141

Tratar

$("#link1").text()

para acceder al texto dentro de su elemento. El # indica que está buscando por id. No está buscando un elemento hijo, por lo que no necesita hijos (). En su lugar, desea acceder al texto dentro del elemento que devuelve su función jQuery.

Larry Lustig
fuente
1
Gracias. Me siento aliviado de tener la respuesta, y muy estúpido ... por intentar todas las declaraciones diferentes pero olvidar el signo # ...
Michel
62

Para hacer referencia a un elemento por id, debe usar el #calificador.

Tratar:

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

Para reemplazarlo, puede usar:

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

La .html()función también funcionaría en este caso.

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

El .text()método suelta el texto que usted pasa al contenido del elemento. A diferencia del uso .html(), .text()de manera implícita ignora cualquier incrustado HTML marcado, por lo que si necesita integrar alguna línea <span>, <i>o cualesquiera otros elementos similares, el uso .html()en su lugar.

Puntiagudo
fuente
4

Prueba esto, en caso de id

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

O esto, en caso de clase

$(".YourClassName").text('Your text');
Muhammad Attiq
fuente
-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());
    });
}
  • Primer código, busque un reemplazo de título t.html(t.html()
  • Segundo código un reemplazo de texto t.children(":first")

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

alpc
fuente
1
Si bien el código de su respuesta puede funcionar, debe esforzarse por crear una respuesta excelente que explique por qué y cómo funciona.
Ian Stapleton Cordasco