jQuery:追加包含javascript文件的div?

时间:2010-11-13 22:53:25

标签: jquery

我正在使用jQuery 1.4,我正在尝试附加包含来自其他域的javascript文件的DIV。在加载jQuery后,我在主体末尾有以下内联代码:

<script src="jquery-1.4.3.min.js"></script>
<script src="scripts.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
    var html = "<div><script type='text/javascript' src='http://example.com/foo'></script></div>";
    $("#container").append(html);´
});
</script>

问题是输出是:

  

“; $(”#container“)。append(html);}});

它甚至没有显示在#container中,而是显示在javascript代码所在的正文的底部。

编辑:javascript文件为广告插入html,因此无法将其加载到文档头中。

2 个答案:

答案 0 :(得分:3)

使用您描述的方法无法加载动态脚本,因为字符串是作为HTML加载的,而不是解析的。试试这个:

var head    = document.getElementsByTagName('head')[0];
var script  = document.createElement('script');
script.type = 'text/javascript';
script.src  = 'http://example.com/foo';
head.appendChild(script);

答案 1 :(得分:0)

浏览器正在解释类型为“text / javascript”的脚本标记,而不会显示。没有合理的理由将脚本标记放入div中,希望它能显示其内容。

如果您希望从其他域加载脚本,只需将它们附加到正文中,而不将其包装在其他标记中。加载并运行这些文件后,可能会在其中添加一些代码,这些代码会向 div#container 元素添加一些内容(注意:我说可能)。

你需要首先获得DOM和脚本的概念,然后再问一遍。我很乐意帮助你。

此致 aefxx