无法将脚本元素附加到头部

时间:2016-02-27 18:52:33

标签: javascript jquery append appendchild

当前变体看起来像那样(我试过这里提供的解决方案:Can't append <script> element):

var s=document.createElement("script");
s.type="text/javascript";
s.src="js/properties.js";
$("head").append(s);

以前的变体是:

$("head").append($('<script type="text/javascript" src="js/properties.js"></script>'));

他们两个都不工作。 &#34; properties.js&#34;也是在&#34; js&#34;文件夹,但如果我删除这部分路径,它不会改变任何东西。 我也尝试过使用&#39;相反&#34;并检查addBlock:我安装了它,但在此页面上已禁用它。 改变&#34;追加&#34;功能到&#34; appendChild&#34;也没有帮助。

&#34; properties.js&#34;只包含一行:

var PREFIX_URL = "http://localhost:8080/app-rest-1.0.0-SNAPSHOT";

首先我在&#34; main.js&#34;中声明它。事实上,我试图连接这个文件。 请解释一下,我做错了什么。

2 个答案:

答案 0 :(得分:0)

在结束<script>标记之前添加所有</body>标记,因为当浏览器遇到<script>标记时,它会开始下载并停止呈现网页。因此,通过将它们放在页面底部,您可以确保在尝试与DOM元素交互之前完全加载页面。此外,$("head")会返回所有<head>标记的数组。您还应该将您的通话括在$(document).ready()功能中。

<!-- Your html tags here -->
<script type="text/javascript">
    $(document).ready(function(){
    var s=document.createElement("script");
    s.type="text/javascript";
    s.src="js/properties.js";
    $("head")[0].append(s);
    });
</script>
</body>

答案 1 :(得分:0)

我制作了JSBin example。您可以在控制台中看到最后一个脚本标记是您需要的标记。所以你的代码是正确的。

如果您的IDE没有突出显示&#39; var&#39; - 它可能是错误,而不是在JavaScript中。例如,您可以将它放在错误的位置。

您是否可以提供指向(或pastie.org或smth)的链接,以便我们更好地了解您的问题。

P.S。代码$(&#34; head&#34;)[0] .append给我未定义(注意前一个答案)