element.attributes IE8 中的项目太多?
element.attributes in IE8 has too many items?
我 运行 在 IE8 中显示与 element.attributes
不一致的行为的网站。
该网站是www.leumi.co.il
在任何 "regular" 现代浏览器中,以下代码 returns 只是一些属性,通常与 HTML 中定义的实际属性相关。
jQuery('li')[0].attributes.length;
jQuery.each(jQuery('li')[0].attributes,function(i,a){console.log(a.name)});
但是在IE8中,同一个页面的相同代码returns超过100个属性。我只是在这里猜测,但它似乎是 "calculated style" 元素的列表。
我在 IE8 的其他页面上检查过这个,但没有发生 - 这意味着 element.attributes
通常 returns 原始 HTML 中定义的属性,即使在 IE8 中也是如此。
所以我的问题是 - 为什么在 IE8 的这个特定网站上会发生这种情况?
还有其他可能发生这种情况的情况吗? (其他浏览器?)
任何感兴趣的人 - 我发现了问题。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
这导致 IE8 在 "Quirks Mode" 中加载文档,这就是导致问题的原因。
我 运行 在 IE8 中显示与 element.attributes
不一致的行为的网站。
该网站是www.leumi.co.il
在任何 "regular" 现代浏览器中,以下代码 returns 只是一些属性,通常与 HTML 中定义的实际属性相关。
jQuery('li')[0].attributes.length;
jQuery.each(jQuery('li')[0].attributes,function(i,a){console.log(a.name)});
但是在IE8中,同一个页面的相同代码returns超过100个属性。我只是在这里猜测,但它似乎是 "calculated style" 元素的列表。
我在 IE8 的其他页面上检查过这个,但没有发生 - 这意味着 element.attributes
通常 returns 原始 HTML 中定义的属性,即使在 IE8 中也是如此。
所以我的问题是 - 为什么在 IE8 的这个特定网站上会发生这种情况?
还有其他可能发生这种情况的情况吗? (其他浏览器?)
任何感兴趣的人 - 我发现了问题。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
这导致 IE8 在 "Quirks Mode" 中加载文档,这就是导致问题的原因。