JQuery转义撇号和双撇号?

时间:2011-02-14 00:28:31

标签: javascript jquery html

我想用JQ打印到我页面上的div。我想要打印的字符串包含HTML,包括撇号和双撇号。

是否有一个插件或函数来逃避这个,以便字符串不会破坏js变量?可能存在这样的情况:我无法使用反斜杠转义传入数据中的所有撇号和双撇号,因此我正在寻找可以执行此操作的函数。

EG;

var replacement = 'This content has an apostrophe ' and a double apostrophe "';

$("#overwrite").text(replacement);

TIA

2 个答案:

答案 0 :(得分:2)

如果你想输入一个分配给变量的字符串,就像上面的例子中那样,那么就自己逃避吧。

例如,如果我知道我的数据将有撇号,那么我将其用引号括起来(你称之为双撇号)并使用引号"的HTML快捷方式,或者你可以使用反斜杠来逃避引用\"。无论哪种方式都有效。所以上面的例子将成为:

var replacement = "This content has an apostrophe ' and a double apostrophe "";

如果用户输入字符串或者您正在从Feed中获取数据,那么最好使用javascript替换函数来确保引号被转义,如下所示:

var text = $("input").val().replace(/\"/g,""");

答案 1 :(得分:1)

无需转义传入数据,因为它已经是一个字符串。

你需要在JavaScript源代码中转义撇号和双撇号的唯一原因是JavaScript引擎必须确定字符串的开始和结束位置。

例如,假设您有div#source包含文字"Hi there, what's up!",则$("#overwrite").text($("#source").text())完全安全。