如果我在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执行此操作?
答案 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>") );