【问题标题】: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 + '")">';

【问题讨论】:

  • 我不会这样做。查看addEventListener 并通过将处理程序直接添加到元素来避免所有语法问题。

标签: 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 + '")">';
    

    这将解析为:&lt;img src="/link/to/img.png" onclick="downloadImg("1")"&gt;

    如您所见,双引号内有双引号。应该这样做:

    <img src="/link/to/img.png" onclick="downloadImg(\'' + d.data_id + '\')">
    

    【讨论】:

      【解决方案4】:

      将双引号改为单引号并转义:

      onclick="downloadImg(\'' + d.data_id + '\')"

      【讨论】:

        猜你喜欢
        • 2011-06-23
        • 2011-05-13
        • 1970-01-01
        • 2013-05-12
        • 2023-03-26
        • 2015-08-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多