我已经检查了MDN和Microsoft网站,他们都说版本8的Internet Explorer支持Element.hasAttribute()。我在我的应用程序中使用hasAttribute并且我已经在IE9中创建了一个jsFiddle来测试确保;确定。 This是我在IE8和9中使用的小提琴,我没有得到第二个警报。是hasAttribute真正支持还是我错过了什么?这也是我在这里的第一个问题,我已经搜索过以确保没有重复,但如果我有道歉,谢谢你的帮助!
编辑:似乎小提琴只是在IE9中没有显示hasAttribute警报。 IE8产生正确的结果
<div id="bob">hi</div>
var test = document.getElementById( 'bob' );
alert( test.innerHTML );
alert( test.hasAttribute( 'id' ) );
答案 0 :(得分:2)
您的代码看起来很完美......
如果你真的想检查特定的attr是否存在...... 然后试试这个
if ((element.getAttribute('id') === null) || (element.getAttribute('id') === ''))
答案 1 :(得分:1)
我使用IE 8和IE9在Windows 7中进行测试并且正常工作,这是屏幕截图。