【问题标题】:Javascript to build HTML用于构建 HTML 的 Javascript
【发布时间】:2014-04-09 01:20:11
【问题描述】:
这个可能很简单,但它让我望而却步。我有在 DOM 中构建元素的 Javascript 代码(使用来自服务器脚本的 JSON)。一些元素具有我想将 ID 变量传递给的“onclick”调用。
我似乎无法正确使用 onclick="downloadImg("' + d.data_id + '")" 语法。应该是什么。下面的代码不起作用。谢谢。
temp_html = temp_html + '<img src="/link/to/img.png" onclick="downloadImg("' + d.data_id + '")">';
【问题讨论】:
标签:
javascript
html
syntax
【解决方案1】:
如果使用双引号,则会关闭前一个,因此会产生冲突。所以用单引号替换" + 转义\' 像这样:
temp_html = temp_html + '<img src="/link/to/img.png" onclick="downloadImg(\'' + d.data_id + '\')">';
【解决方案2】:
你的行应该是:
temp_html = temp_html + '<img src="/link/to/img.png" onclick="downloadImg(\\"' + d.data_id + '\\")">';
你基本上有很多层引号,所以
双斜线
创建一个
\"
在将引号输出到 HTML 后转义的输出中
【解决方案3】:
<img src="/link/to/img.png" onclick="downloadImg("' + d.data_id + '")">';
这将解析为:<img src="/link/to/img.png" onclick="downloadImg("1")">
如您所见,双引号内有双引号。应该这样做:
<img src="/link/to/img.png" onclick="downloadImg(\'' + d.data_id + '\')">
【解决方案4】:
将双引号改为单引号并转义:
onclick="downloadImg(\'' + d.data_id + '\')"