IE8中的element.attributes有太多项目?

时间:2015-02-01 14:00:59

标签: javascript jquery html internet-explorer-8

我遇到了一个网站,显示IE8中element.attributes的行为不一致 该网站为www.leumi.co.il

在任何"常规"现代浏览器,以下代码只返回一些属性,通常与HTML中定义的实际属性相关联。

jQuery('li')[0].attributes.length;
jQuery.each(jQuery('li')[0].attributes,function(i,a){console.log(a.name)});

但在IE8中,同一页面中的相同代码返回100多个属性。我只是在这里猜测,但它似乎是"计算出来的风格"元素。

我在IE8的其他页面上检查了这一点并没有发生 - 意味着element.attributes通常会返回原始HTML中定义的属性,即使在IE8中也是如此。

所以我的问题是 - 为什么会在IE8的这个特定网站上发生这种情况? 还有其他可能发生这种情况的情况吗? (其他浏览器?)

1 个答案:

答案 0 :(得分:0)

对于任何有兴趣的人 - 我发现了问题。

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

这导致IE8以“Quirks模式”加载文档,这就是导致问题的原因。