我将信息作为Json传递给客户端,我从我的javascript代码生成一些HTML。我有一个名为name的字段,我将其传递到图像的标题中:
html.push("<img title='" + person.Name + "' src . . .
问题是,如果person.Name是“Joe O'Mally”,因为当我将鼠标悬停在图像上时(因为名称中的'),它只显示为“Joe O”
我不想在服务器端剥离'因为在其他地方我想在页面上显示确切的字符串。
当我悬停图片时,javascript中是否有等效的HttpUtility.HtmlEncode会在图片标题中显示全名?
答案 0 :(得分:8)
不,但你可以很容易地写一个。
function htmlEnc(s) {
return s.replace(/&/g, '&')
.replace(/</g, '<')
.replace(/>/g, '>')
.replace(/'/g, ''')
.replace(/"/g, '"');
}
我已经玩过更快的方法(基本上是用一个“替换”调用来做事情),但这对于大多数用途来说表现得非常好,特别是在现代浏览器中。
答案 1 :(得分:0)
Here是一篇很好的帖子,解释了如何使用javascript escape()和unescape()函数,这些可以帮助你完成你想要做的事情。