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];

-likeをgetElementsByTagName返すため、配列に指定する必要があります。NodeListArrayindex/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 に答える