-1

いくつかのリンクを含む HTML ページがあります。それらのリンクをすべて別のタブで開くようにしたいので、使ってみました

var foo = document.getElementsByTagName("a");
for(var i = 0; i < foo.length; i++) {
    foo[i].target = "_blank";
}

しかし、なぜそれが機能しないのですか (私が知る限りgetElementsByTagName()、配列を返します。間違っている可能性があります)。

4

2 に答える 2

3

setAttributeスクリプトを使用してwindow.onloadハンドラー内に配置してみてください(これDOM Hierarchyは完全に構築されており、sにアクセスできることを確認するためですDOM Element):

window.onload = function(){
   var foo = document.getElementsByTagName("a");
   for(var i = 0; i < foo.length; i++) {
       foo[i].setAttribute('target', '_blank');
   }
};

実際には、 と同様の機能を持つオブジェクトをgetElementsByTagName返しますが、 ではありません。NodeListArrayArray

于 2012-07-05T19:08:27.183 に答える
0

私も同じ問題を抱えていました。その答えが得られました。答えは次のとおりです。次のように、boday の終了タグの後に、JavaScript へのリンクを使用します。

<!DOCTYPE html>
<html>
<head>

</head>
<body>
<a src="#">link</a>
<a src="#">link</a>
<a src="#">link</a>
<a src="#">link</a>
<a src="#">link</a>
<a src="#">link</a>

<input type="text" size="20"><br>
<input type="text" size="20"><br>
<input type="text" size="20"><br><br>

<script src="JavaScript/alert.js">

</script>
</body>
</html>
于 2014-02-14T15:36:42.343 に答える