我想使用JQ打印到我页面上的div。我要打印的字符串包含HTML,包括撇号和双撇号。
有没有插件或函数来转义它,这样字符串就不会破坏js变量?可能会出现这样的情况,我无法使用反斜杠转义传入数据中的所有撇号和双撇号,所以我正在寻找一个可以做到这一点的函数。
例如;
var replacement = 'This content has an apostrophe ' and a double apostrophe "';
$("#overwrite").text(replacement);提亚
发布于 2011-02-14 08:32:07
没有必要对传入的数据进行转义,因为它已经是一个字符串。
您需要转义JavaScript源代码中的撇号和双撇号的唯一原因是,JavaScript引擎必须确定字符串的开始和结束位置。
例如,假设您有一个包含文本"Hi there, what's up!"的div#source,执行$("#overwrite").text($("#source").text())是完全安全的。
发布于 2011-02-14 14:23:31
如果你想像上面的例子一样,输入一个分配给变量的字符串,那么你可以自己转义它。
例如,如果我知道我的数据将有撇号,那么我将它括在引号中(您称之为双撇号),并使用HTML "的快捷方式,或者您可以使用反斜杠转义引号\"。无论哪种方式都行得通。因此,上面的示例将变成:
var replacement = "This content has an apostrophe ' and a double apostrophe "";如果用户正在键入字符串,或者您正在从提要中获取数据,那么最好使用javascript替换函数来确保引号被转义,如下所示:
var text = $("input").val().replace(/\"/g,""");https://stackoverflow.com/questions/4987895
复制相似问题