2009-10-26 72 views
73

锚文本我想更换一个HTML锚文本:替换使用jQuery

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

现在我要替换的文字“点击回家”

我已经试过这样:

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

但是这一切都让我空或空字符串

回答

113

尝试

$("#link1").text() 

访问您的元素中的文本。 #表示您正在通过ID进行搜索。你不是在寻找一个孩子元素,所以你不需要孩子()。相反,您想要访问jQuery函数返回的元素内部的文本。

+1

谢谢。感到放心,我已经得到了答案,而且非常愚蠢......因为尝试所有不同的陈述,但忘记了# - 符号... – Michel 2009-10-27 07:55:13

53

要通过ID引用的元素,你需要使用#限定符。

尝试:

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

来取代它,你可以使用:

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

.html()功能会在这种情况下工作了。

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

.text()方法删除将文本传递给元素内容的文本。与使用.html()不同,.text()隐含地忽略了任何嵌入式HTML标记,因此如果您需要嵌入一些内联<span>,<i>或其他类似元素,请改为使用.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()); }); }

首先代码中找到一个标题替换t.html(t.html()
二代码的文本替换吨。儿童(“:第一次”)

Sample < a title =“alpc”href =“#”> alpc

+0

虽然您的答案中的代码可能有效,但您应该努力创造一个出色的答案解释了为什么以及如何运作。 – 2014-08-08 02:18:01