即使未明确指定属性,hasAttribute也应返回true,但不是

时间:2011-10-13 12:01:37

标签: javascript attributes w3c

From W3C - hasAttribute - 当在此元素上指定具有给定名称的属性或具有默认值时返回true,否则返回false。

现在,所有元素都有一个默认的class属性作为空字符串,如here

所述

所以,如果我对我没有明确指定class属性的元素应用hasAttribute('class')hasAttribute('className'),它甚至应该返回true,但它不会在Firefox和Chrome中。为什么会这样?

1 个答案:

答案 0 :(得分:2)

这是因为:

“但是,DOM树中不显示空的默认属性 - 只有那些具有实际值(DTD中的特定默认值或显式值)的属性才会出现在DOM中;这称为具有有效价值。“

你可以阅读它here