这不起作用。我想在外部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)');
}
}
答案 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,因此无论哪种方式都可以使用。