用jquery替换锚文本

时间:2009-10-26 16:45:53

标签: jquery

我想替换html锚点的文本:

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

现在我想替换文字'click to go home'

我试过这个:

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

但它全部给我null或空字符串

5 个答案:

答案 0 :(得分:128)

尝试

$("#link1").text()

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

答案 1 :(得分:56)

要按ID引用元素,您需要使用#限定符。

尝试:

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

要替换它,您可以使用:

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

.html()函数在这种情况下也适用。

答案 2 :(得分:16)

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

.text()方法会将您传递的文本删除到元素内容中。与使用.html()不同,.text()隐式忽略任何嵌入式HTML标记,因此如果您需要嵌入一些内联<span><i>或其他类似元素,请使用{{1相反。

答案 3 :(得分:1)

如果有ID,请尝试此操作

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

或者在上课的情况下

$(".YourClassName").text('Your text');

答案 4 :(得分:-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()
  • 第二个代码,文本替换为t.children(":first")

示例 <a title="alpc" href="#">alpc</a>