13

我有一个应用程序,它提供了一些 HTML。然后它需要将该 HTML 放入一个字符串中。此 HTML 包含单引号和双引号。是否可以在 javascript 中声明一个包含信息的字符串,不使用单引号或双引号?

我想如果不可能,有没有人知道一种简单易行的方法来逃避这些引号,这样我就可以把它放在一个字符串中?请记住,此字符串的一部分将是我稍后需要执行的 JavaScript。

4

4 回答 4

11

您需要使用以下命令转义引号字符\

var someString = 'escape all the quotation marks \"\'';
于 2011-07-08T18:20:16.957 回答
4

是否可以在 javascript 中声明一个包含信息的字符串,不使用单引号或双引号?

不,JavaScript 字符串文字用单引号或双引号分隔。这些是唯一的选择。

有谁知道一种简单的方法来逃避这些引号,所以我可以把它放在一个字符串中?

你的意思是字符串文字吗?

var str = "var foo=\"bar\"; function say(it) { alert('It is: ' + it); say(foo);";

还是以编程方式?

str = str.replace(/"/g, '\\"');
于 2011-07-08T18:23:44.883 回答
1

转义引号的一种简单方法是使用 javascript 转义函数。

http://www.w3schools.com/jsref/jsref_escape.asp

于 2011-07-08T18:19:49.540 回答
0

使用该escape功能替换特殊字符(包括单引号和双引号)。然后,如有必要,您可以稍后使用该unescape函数将字符串返回到正常状态。

例如:

var data = 'hello my name is "James"';
alert(escape(data)); //Outputs: hello%20my%20name%20is%20%22James%22
于 2011-07-08T18:19:57.413 回答