1

</body>我想在标签之前的页面底部添加一个js文件。

我正在尝试一种格式。但它不能正常工作。

我的代码

var url = 'sample.js';
var script = document.createElement("script");
script.type = "text/javascript";
script.src = url;
document.getElementsByTagName('body')[0].appendChild(script);

但它不起作用。

现在我检查

var x = document.getElementsByTagName('body');
alert(x.length);

它的节目0

如何将此 js 文件添加到页面底部。请指教

4

2 回答 2

1

看到这个代码

var body = document.body;
alert("Body when page loading: " + body);
document.addEventListener("DOMContentLoaded", function() {
    var bodyLoaded = document.body;
    alert("Body when page loaded: " + bodyLoaded);
    var url = "http://code.jquery.com/jquery-1.10.2.min.js";
    var script = document.createElement('script');
    script.type = "text/javascript";
    script.src = url;
    script.onload = function(){
        var testP = $("<p></p>");
        testP.html("JQuery worked");
        $(document.body).append(testP);
    }
    bodyLoaded.appendChild(script);
});  

如果你先alert得到null. 但在第二个(当身体加载时)你得到HTMLBodyElement. 如果您在加载主体之前尝试将元素附加到头部的主体,这是您的错误。

于 2013-08-05T08:05:21.793 回答
0

您正在头部分中编写此代码,并且在执行此操作时尚未创建主体元素。这是错误的唯一原因。创建 body 元素后保留此代码。

于 2013-08-05T07:48:11.610 回答