标签: javascript attributes w3c
From W3C - hasAttribute - 当在此元素上指定具有给定名称的属性或具有默认值时返回true,否则返回false。
现在,所有元素都有一个默认的class属性作为空字符串,如here
所以,如果我对我没有明确指定class属性的元素应用hasAttribute('class')或hasAttribute('className'),它甚至应该返回true,但它不会在Firefox和Chrome中。为什么会这样?
hasAttribute('class')
hasAttribute('className')
答案 0 :(得分:2)
这是因为:
“但是,DOM树中不显示空的默认属性 - 只有那些具有实际值(DTD中的特定默认值或显式值)的属性才会出现在DOM中;这称为具有有效价值。“
你可以阅读它here