我有一个HTML页面,上面有几个链接。我想在不同的标签中打开所有这些链接,所以我尝试使用
var foo = document.getElementsByTagName("a");
for(var i = 0; i < foo.length; i++) {
foo[i].target = "_blank";
}
但为什么这不起作用(据我所知,getElementsByTagName()
返回一个数组,我可能也错了)?
答案 0 :(得分:3)
尝试使用setAttribute
并将您的脚本放在window.onload
处理程序中(这是为了确保DOM Hierarchy
已完全构建,您可以访问DOM Element
s):
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
。
答案 1 :(得分: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>