我需要在网页的每个链接中绑定onclick函数,所以我使用这个函数
var links = document.getElementsByTagName('a');// total 5 links
for(var key in links){
//always be true in IE, But just be true from second latest in chrome
alert(isNaN(parseInt(key)));
if(isNaN(parseInt(key))){
break;
}else{
...
}
}
请帮助,谢谢
更新: 这似乎是for(链接中的var键)的问题,当在IE中时,键成为链接的ID,但它只是chrome中的数字
答案 0 :(得分:2)
您正在枚举锚标记之外的其他内容,其中一些内容应该是NaN
。使用常规for
循环:
for(var i=0; i<links.length; i++) {
// do something with links[i],
// which is guaranteed to be
// an anchor tag
}
答案 1 :(得分:1)
如果您正在使用jQuery(我强烈建议您使用),请使用$.isNumeric()
函数。
您还应该使用jQuery选择器替换document.getElementsByTagName
$('a').each(function(index, tag) {
if($.isNumeric($(tag.attr('SOMEATTRIBUTE'))) {
// do whatever you want here
} else {
// do the other condition here
}
});