[英]jQuery.html() with single quotes
我无法弄清楚如何写这个,所以它的工作原理。 我们有一个页面,用户可以上传文档,列表将显示在屏幕上。 当文件名中包含单引号时,就会出现问题。 我们正在使用jQuery。 有一些代码生成正在进行,但这是出来的基础知识。
$(someElement).html('<label onclick="$(someOtherElement).attr(\'title\', \'TheFile\\'Name.pdf\')">Some Text</label>');
文件名中的单引号导致问题。 我试过用一个反斜杠和两个反斜杠来逃避它。 使用单个反斜杠代码运行但生成此html:
<label onclick="$(someOtherElement).attr('title', 'TheFile'Name.pdf')">Some Text</label>
现在在onclick失败了。
使用2个反斜杠,jquery html()
行根本不会运行。 在这两种情况下,我都会在不同的点获得意外的标识符。
你需要一个三重反斜杠:
$(someElement).html('<label onclick="$(someOtherElement).attr(\'title\', \'TheFile\\\'Name.pdf\')">Some Text</label>');
为什么3?
第一个逃避第二个反斜杠,它将逃脱HTML代码中的'
。
第三个逃脱'
以防止字符串关闭。
你不仅需要加倍,而且还需要三倍的反斜杠。
原因是你最初逃脱'
做\\'
。 但是现在你有两个字符逃脱这样\\
去\\\\
和'
去\\'
再次给\\\\\\'
。
尝试使用带有&符号的字符值来转义引号。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.