hasAttribute должен возвращать true, даже если атрибут не указан явно, но не - PullRequest
0 голосов
/ 13 октября 2011

Из W3C - hasAttribute - возвращает true, если для данного элемента указан атрибут с заданным именем или значение по умолчанию, в противном случае - false.

Теперь все элементы имеют атрибут класса по умолчанию в виде пустой строкикак уже упоминалось здесь

Итак, если я применяю hasAttribute('class') или hasAttribute('className') к элементу, для которого я не указал явным образом атрибут класса, он должен даже тогда вернуть true, ноэто не в Firefox и Chrome.Почему это происходит?

1 Ответ

2 голосов
/ 13 октября 2011

Это происходит из-за:

"Однако пустые атрибуты по умолчанию не отображаются в дереве DOM - в DOM отображаются только те атрибуты, которые имеют фактическое значение (либо конкретное значение по умолчанию в DTD, либо явное значение); это называется с эффективным значением. "

Вы можете прочитать это здесь

...