javascript - jQuery.html() 带单引号

标签 javascript jquery html

我不知道如何写这个,所以它可以工作。我们有一个页面,用户可以在其中上传文件,列表将显示在屏幕上。当文件名中有单引号时,问题就来了。我们正在使用 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 代码中

第三个转义 ' 以防止字符串关闭。

关于javascript - jQuery.html() 带单引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22507296/

相关文章:

javascript - jquery - 加载功能在 Chrome 中无法正常工作

javascript - 如何在没有后端的情况下实现html输入表单

javascript - 当我在智能手机上显示页面时,将其添加到我的页面

javascript - 识别和格式化 HTML 内容中的 URL 可编辑,将光标保持在适当的位置

javascript - 从 Javascript 中的复选框值向字段添加/删除值

html - CSS 中的 "Show more/less"有问题

javascript - anchor 标记不起作用

javascript - Modal 中的 Bootstrap Accordion 只能工作一次

javascript - 需要识别正则表达式中的不匹配字符

html - CSS :not selector to target specific types of input