我遇到了一个网站,显示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的这个特定网站上发生这种情况? 还有其他可能发生这种情况的情况吗? (其他浏览器?)
答案 0 :(得分:0)
对于任何有兴趣的人 - 我发现了问题。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
这导致IE8以“Quirks模式”加载文档,这就是导致问题的原因。