3

我正在使用代码使用 javascript 文件将 javascript 添加到我的页面。

我的代码是:

 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

2 回答 2

4

尝试改变:

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

到:

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

由于getElementsByTagName返回NodeListwhich is Array-like 并且您需要指定index/key数组。

您也可以简单地执行以下操作:

var tagPosition = document.body;

在 MDN 上了解更多信息:

于 2012-07-06T18:44:57.883 回答
4

getElementsByTagName返回具有给定标签名称的元素列表。该列表没有名为 的方法appendChild。你想抓住一个并对其进行操作:

document.getElementsByTagName('body')[0]

更多信息:

于 2012-07-06T18:44:57.687 回答