2012-07-06 28 views
3

我使用的代碼中使用JavaScript文件添加JavaScript到我的網頁..的Javascript使用appendChild不包括車身/ head元素

我的代碼是:

alert("works"); 


    addScript('http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js'); 
    addScript('js/pdttrack/jquery.titlealert.js'); 
    addScript('js/pdttrack/jquery.msgbox.min.js'); 

    function addScript(filename) { 
     var tagPosition = document.getElementsByTagName('body'); 
     var scriptElement = document.createElement('script'); 
     scriptElement.setAttribute('type', 'text/javascript'); 
     scriptElement.setAttribute('src', filename); 
     tagPosition.appendChild(scriptElement); 
     alert("added "+ scriptElement); 
    } 

...但最後警報不費一槍..似乎

tagPosition.appendChild(scriptElement); 

不點火,其餘全部都是..

回答

4

嘗試改變:

var tagPosition = document.getElementsByTagName('body'); 

要:

var tagPosition = document.getElementsByTagName('body')[0]; 

由於getElementsByTagName回報NodeList這是Array樣和你需要指定index/key到陣列。

你也可以簡單地做:

var tagPosition = document.body; 

瞭解更多關於MDN:

+0

請登錄我們的時間戳。我們在*完全*的同時回答:) – 2012-07-06 18:49:32

+0

@lwburk:同樣的票數+1也給你:) – Blaster 2012-07-06 18:50:59