在IE8之前替换hasAttribute(“id”)

时间:2013-10-31 13:43:37

标签: javascript cross-browser

我用过

element.hasAttribute('id') 

在我的代码中测试元素是否具有 id 属性。但hasAttribute API仅与IE8之后的浏览器兼容。我可以使用类似的API或技术来检查我的案例中元素的属性的可用性" id"。

2 个答案:

答案 0 :(得分:7)

如果没有hasAttribute方法,则需要使用getAttribute。如果没有设置属性,则此返回null,否则返回空字符串。实际上,有些浏览器会返回一个空字符串,因此在这些浏览器中无法确定它是空属性还是根本没有属性。

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

答案 1 :(得分:2)

只需检查element.id - 如果未设置,则为空字符串。

对于由JS对象属性镜像的那些属性,不需要使用element.hasAttribute