-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完全构建并且您可以访问DOM Elements):

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

实际上getElementsByTagName返回NodeList对象,它有一些类似的功能Array,但它不是一个Array

于 2012-07-05T19:08:27.183 回答
0

我也有同样的问题,我得到了答案。n 答案是:在结束 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 回答