请大家,我是Jquery的新手。自上周以来,我一直在寻找合适的帮助,但我找不到任何帮助。我想用jquery用笑脸图像替换文本,但我不知道如何运行它。例如,我想要这个文字"我感觉:happy;
&#34;被#34替换;我感觉<img src='happy_face.gif' />
&#34;和#34;他是:sick;
&#34;将被替换为&#34;他是<img src='sick.gif' />
&#34;。
这是我到目前为止所得到的,但它仍然显示文本而不是图像:
:) :(
<script src="js/jscript.js"></script>
<script>
var emotes = [
[':happy;', 'happy.gif'],
[':sick;', 'sick.gif']
];
function applyEmotesFormat(body){
for(var i = 0; i < emotes.length; i++){
body = body.replace(new RegExp(emotes[i][0], 'gi'), '<img src="emotes/' + emotes[i][1] + '">');
}
return body;
}
提前致谢
答案 0 :(得分:1)
实际上非常简单。
您只需要一行来查找和替换HTML中的字符串实例:
$("body").html($("body").html().replace(/:happy;/g,'<div class="happy-face"></div>'));
这会将$("body").html()
设置为$("body").html()
,:happy;
替换为<div class="happy-face"></div>
。
/:happy;/g
是RegEx全局查找字符串:happy;
(g
)
答案 1 :(得分:1)
您可以使用以下代码:
var a = [[':happy;','<img src="happy_face.gif" />'],[':sick;',"<img src='sick.gif' />"]];
a.forEach(function(item) {
$('p').each(function() {
var text = $(this).html();
$(this).html(text.replace(item[0], item[1]));
});
});
这里的工作示例:Smiley codes replace