【问题标题】:Trying to append html string fail with jQuery尝试使用 jQuery 附加 html 字符串失败
【发布时间】:2014-12-03 17:45:50
【问题描述】:

我正在尝试使用 jQuery 将以下字符串附加到头部:

"<script type='text/javascript'> window['adrum-app-key'] = 'dummy';</script>"

但它总是失败。例如,尝试对 'Hello' 字符串执行相同操作可以按预期工作。 在我用来附加字符串的代码 sn-p 之后:

var integrationScriptTag = handlebars.partials.integration(integrationData);
    $(document).ready(function() {
        $('head').append(integrationScriptTag.trim());
    });

第一个字符串是解析 integrationData 的结果。 任何帮助将不胜感激。

编辑:我意识到我用第一个字符串误导了你们中的一些人。它只是表示第二个代码 sn-p 的第一行所产生的内容。所以它是否是一些引号并不重要。事实是我不使用文字,而是使用等于第一个字符串的变量。我更正了语法,以便不再混淆。 这是重现问题的jsFiddle。 jsFiddle

【问题讨论】:

  • 您需要转义字符串中嵌入的单引号。
  • 我不知道您为什么将其标记为离题。该问题很容易重现,并且无法通过简单的印刷修复来解决。这是一个模拟问题link的jsFiddle。

标签: javascript jquery


【解决方案1】:

这应该可以解决它:

'<script type=\'text/javascript\'> window[\'adrum-app-key\'] = \'dummy\';</script>'

或者这也是:

'<script type="text/javascript"> window["adrum-app-key"] = "dummy";</script>'

基本上你的引号不匹配。

【讨论】:

    【解决方案2】:

    使用它,它将解决问题

    '<script type=\'text/javascript\'> window[\'adrum-app-key\'] =\'dummy\';<\/script>'
    

    【讨论】:

      【解决方案3】:

      我终于发现你不能以这种方式将脚本标签附加到 jQuery 头部。 我找到了一些解决方案herethere(查看第二个链接的所选答案的第一个代码 sn-p)。

      【讨论】:

        【解决方案4】:

        head 在执行 javascript 之前被解析。所以你可能必须在$(document).ready 函数之外执行append

        【讨论】:

        • 在这种情况下,SO 上的语法高亮实际上给出了答案。
        • 这可能是编辑问题时的拼写错误。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-11-18
        • 1970-01-01
        • 2016-11-14
        • 1970-01-01
        相关资源
        最近更新 更多