用Jquery代替笑脸图片文字
问题描述:
请老兄,我是Jquery的新手。自上周以来我一直在寻找合适的帮助,但我找不到任何帮助。我想用jQuery替换带笑脸图片的文本,但我不知道如何运行它。例如,我想将此文字“我感觉:happy;
”替换为“我感觉<img src='happy_face.gif' />
”和“他是:sick;
”替换为“他是<img src='sick.gif' />
”。 这是我迄今为止得到,但它仍然显示文本而不是图像:提前用Jquery代替笑脸图片文字
答
:) :(
<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;
}
感谢其实原因很简单。 你只需要一行找到,并在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
是正则表达式查找的字符串:happy;
全球(g
)
+1
感谢kingkode。它工作完美 –
答
您可以使用下面的代码:
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
欢迎的StackOverflow!我们要求您发布您已经尝试的方法。 – kingkode