我正在尝试设置页面中每个链接的target
。我正在尝试:
var x = document.getElementsByTagName('a')
for (i in x)
i.setAttribute('target', '_blank');
但是我得到了一个TypeError。它适用于setAttribute
上的x[0]
,但不是我在上面的操作方式。建议?
答案 0 :(得分:4)
请参阅x[i]
而不是i
。 i
返回链接的索引。
对于类似数组的对象,建议使用for(var i=0; i<x.length; i++)
代替for(i in x)
。
使用下面的代码可以更有效地编写代码,因为不是每个a
元素都是链接:
var x = document.links;
for(var i=0, l=x.length; i<l; i++){
x[i].setAttribute("target", "_blank");
}