自动获取所有href值

时间:2011-01-12 06:34:24

标签: javascript html href

这不起作用。我想在外部js上自动将没有href值的所有链接设置为javascript:void(0)...

var hLink=document.getElementsByTagName("a");
for (i=0;i<hLink.length;i++) { 
  if (hLink[i].getAttribute('href')==null) { 
    hLink[i].setAttribute('href','javascript:void(0)');
  }
}

2 个答案:

答案 0 :(得分:3)

试试这个。

var anchors = document.getElementsByTagName("a");
for (i = 0; i<anchors.length; i++ ) {
  if( !anchors[i].href ) {
      anchors[i].href = 'javascript:void(0)';
  }
}

答案 1 :(得分:2)

如果未设置href属性,我不记得getAttribute('href')是返回null还是''(空字符串)。实际上,它可能取决于浏览器。我会将您的if声明更改为:

if (!hLink[i].getAttribute('href'))

由于null''都是falsy values,因此无论哪种方式都可以使用。