JS用链接替换字符?

时间:2011-12-26 15:41:39

标签: javascript jquery

如果我在div中有一个文本块,如:

<div id='t1'>
This is a great testing string.  Tomorrow grass is green.
</div>

我希望用链接替换所有字母“g”,例如

<a href='www.google.com'>g</a>

是否可以仅使用Javascript / jquery执行此操作?

3 个答案:

答案 0 :(得分:4)

如果您想执行简单的字符串替换,请执行以下操作:

var div = document.getElementById("t1");
div.innerHTML = div.innerHTML.replace(/g/g, "<a href='http://www.google.com'>g</a>");

如果您需要更多动态,例如用链接替换一个单词,取决于值,使用:

示例:将g或G替换为不同的URL:

var div = document.getElementById("t1");
var mapper = {
    g: "http://www.google.com",
    G: "http://stackoverflow.com"
};
div.innerHTML = div.innerHTML.replace(/[Gg]/g, function(fullmatch){
    return "<a href='" + mapper[fullmatch] + "'>" + fullmatch + "</a>";
});

答案 1 :(得分:2)

不需要jQuery。

var t1 = document.getElementById('t1')
t1.innerHTML = t1.innerHTML.replace(/g/g, '<a href="http://www.google.com/">g</a>')

/g/g中,第一个g就是您要搜索的内容。第二个g表示 g lobal(又名全部替换)

答案 2 :(得分:1)

$('#t1').html( $('#t1').text().replace(/g/g,"<a href='www.google.com'>g</a>") );