IE8+下是否支持hasAttribute()?

Does hasAttribute() under IE8+ is supported?

我已经检查了 MDN 和 Microsoft 网站,他们都说 Element.hasAttribute() 在版本 8 的 Internet Explorer 中受支持。我在我的应用程序中使用 hasAttribute 并且我创建了一个 jsFiddle 来测试IE9只是为了确定。 This 是我在 IE8 和 9 中使用的 fiddle,我没有收到第二个警报。是否真正支持 hasAttribute 还是我遗漏了什么?这也是我在这里的第一个问题,我进行了搜索以确保没有重复,但如果有,我深表歉意,感谢您的帮助!

编辑:似乎 fiddle 仅在 IE9 中不显示 hasAttribute 警报。 IE8 产生正确的结果

<div id="bob">hi</div>

var test = document.getElementById( 'bob' );
alert( test.innerHTML );
alert( test.hasAttribute( 'id' ) );

你的代码看起来很完美......

如果你真的想检查一个特定的属性是否存在.... 然后像这样尝试

if ((element.getAttribute('id') === null) || (element.getAttribute('id') === ''))

我在 windows 7 中使用 IE 8 和 IE9 进行了测试并且工作正常,这里是屏幕截图。