2009-10-26 23 views
73

quiero reemplazar el texto de un ancla html:reemplazar texto de anclaje con jQuery

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

ahora quiero reemplazar el texto '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

Respuesta

113

Trate

$("#link1").text() 

para acceder al texto dentro de su elemento. El # indica que estás 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.

+1

Gracias. Siéntete aliviado de que tengo la respuesta, y muy estúpido ... para probar todas las declaraciones diferentes, pero olvidando el # -sign ... – Michel

53

para hacer referencia a un elemento de identificación, es necesario utilizar elCalificador.

Probar:

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

para reemplazarlo, que puede usar:

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

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

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

El método .text() coloca el texto que pasa en el contenido del elemento. A diferencia del uso de .html(), .text() ignora implícitamente cualquier marca HTML incorporada, por lo que si necesita incrustar algunos <span>, en línea, o cualquier otro elemento similar, use .html().

-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 de encontrar un título reemplazar t.html (t.html()
segundo código de reemplazar un texto t. niños (": primero")

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

+0

Si bien el código en tu respuesta puede funcionar, deberías esforzarte para crear una respuesta excelente que explica por qué y cómo funciona. –