Ответ 1
An HTMLElement
является Element
, как определено в расширении HTML к спецификации ядра DOM Level 2:
interface HTMLElement : Element {
attribute DOMString id;
attribute DOMString title;
attribute DOMString lang;
attribute DOMString dir;
attribute DOMString className;
};
Element
(по спецификации) относится к интерфейсу Element
, как он определен в спецификации DOM Core Level 2 (есть еще одна спецификация DOM Core (рабочий проект), хотя).
Обновление: Есть много спецификаций, и не совсем ясно, какие браузеры используют какой (для меня).
Возможно, у кого-то еще больше понимания...
Но в любом случае Element
является более общим интерфейсом, чем HTMLElement
, а последний наследуется от первого.
Обновление 2: Хороший способ увидеть структуру наследования - выполнить console.dir(elementReference)
для любого элемента (работает в Chrome/Safari, требуется Firebug для Firefox).