Javascript isNaN在IE和Chrome中获得不同的结果

Javascript isNaN在IE和Chrome中获得不同的结果,javascript,javascript-events,Javascript,Javascript Events,我需要在网页的每个链接中绑定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

我需要在网页的每个链接中绑定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 key)的问题,当在IE中时,key成为链接的Id,但它只是chrome中的数字

您正在枚举锚标记之外的其他内容,其中一些内容应该是
NaN
。对循环使用常规的

for(var i=0; i<links.length; i++) {
    // do something with links[i], 
    // which is guaranteed to be
    // an anchor tag
}
for(var i=0;i如果您正在使用jQuery(我强烈建议您这样做),请使用
$.isNumeric()
函数

您还应该将
document.getElementsByTagName
替换为如下jQuery选择器

$('a').each(function(index, tag) {
    if($.isNumeric($(tag.attr('SOMEATTRIBUTE'))) {
        // do whatever you want here
    } else {
        // do the other condition here
    }
});

谢谢你bfavaretto,我发现问题出在for(key in)语句中。没错。
for..in
将循环通过
链接的其他属性,例如
项(即
NaN
)。是的,你说得对,但在ie中,因为我无法使用链接[key]。addEventListener('click',function(){})此外,它将抛出一个错误例外。这是另一个问题,您必须在使用addEventListener之前进行检查,如果不可用,请使用attachEvent(即