2

可能重复:
JavaScript/jQuery HTML 编码

我将信息作为 Json 传递给客户端,并从我的 javascript 代码生成一些 HTML。我有一个名为 name 的字段,我将其传递到图像的标题中,如下所示:

  html.push("<img  title='" + person.Name + "' src . . . 

问题是如果 person.Name 是“Joe O'Mally”,因为当我将鼠标悬停在图像上时它只显示为“Joe O”(因为名称中的 ')

我不想在服务器端剥离 ' 因为还有其他地方我想在页面上显示确切的字符串。

当我悬停图像时,javascript中是否有等效的 HttpUtility.HtmlEncode 会在图像标题中显示全名?

4

2 回答 2

11

不,但你可以很容易地写一个。

function htmlEnc(s) {
  return s.replace(/&/g, '&amp;')
    .replace(/</g, '&lt;')
    .replace(/>/g, '&gt;')
    .replace(/'/g, '&#39;')
    .replace(/"/g, '&#34;');
}

我已经尝试过加快速度的方法(基本上是通过一个“替换”调用来做事),但这对于大多数用途来说都足够好,尤其是在现代浏览器中。

于 2012-07-19T13:13:13.823 回答
-2

是一篇很好的文章,解释了 javascript escape() 和 unescape() 函数的使用,这些可能会帮助您解决您正在尝试做的事情。

于 2012-07-19T13:14:57.450 回答