将十六进制参数传递给jQuery函数并显示为十六进制 - 而不是ASCII

时间:2015-09-18 14:27:14

标签: javascript jquery escaping

我有一个带有hex参数的jQuery函数。传递的十六进制参数如下所示:

\x73\x70\x65\x63\x74\x61\x74\x6f\x72\x20

我可以在使用HTML时显示上面显示的内容。将它传递给jQuery函数后,我尝试显示它:

$('#divid').text("This should be hex: '" + HEXparam + "' That should have been hex.'");

但是,它不显示十六进制,而是显示ASCII /英文翻译(在上面的例子中,显示单词"旁观者")。有什么方法可以阻止这种情况吗?

1 个答案:

答案 0 :(得分:0)

在调用$('#divid').text()之前,您需要转义字符串中的斜杠:

HEXparam = HEXparam.replace('\\', '\\\\');

请注意上面代码中的斜杠加倍,这是因为第一个\转义后续\,导致其中两个(\\)的组合被解释作为文字“\”。