substitua o texto âncora por jquery


86

quero substituir o texto de uma âncora html:

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

agora eu quero substituir o texto 'clique para ir para casa'

eu tentei isso:

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

mas tudo me dá nulo ou uma string vazia

Respostas:


141

Tentar

$("#link1").text()

para acessar o texto dentro do seu elemento. O # indica que você está pesquisando por id. Você não está procurando um elemento filho, então não precisa de filhos (). Em vez disso, você deseja acessar o texto dentro do elemento que sua função jQuery retorna.


1
Obrigado. Fiquei aliviado por ter a resposta e muito estúpido ... por tentar todas as afirmações diferentes, mas esquecendo o sinal # ...
Michel

62

Para fazer referência a um elemento por id, você precisa usar o #qualificador.

Tentar:

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

Para substituí-lo, você pode usar:

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

A .html()função também funcionaria neste caso.


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

O .text()método descarta o texto que você passa para o conteúdo do elemento. Ao contrário de usar .html(), .text()ignora implicitamente qualquer incorporado HTML marcação, por isso, se você precisa para incorporar alguns em linha <span>, <i>ou quaisquer outros elementos semelhantes, o uso .html()em seu lugar.


4

Tente isso, no caso de id

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

OU isso, no caso de aula

$(".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());
    });
}
  • Primeiro código encontre uma substituição de título t.html(t.html()
  • O segundo código substitui um texto t.children(":first")

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


1
Embora o código em sua resposta possa funcionar, você deve se esforçar para criar uma resposta excelente que explique por que e como funciona.
Ian Stapleton Cordasco
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.