为什么没有 HTMLNavElement 类型?

Pim*_*Wit 8 html types

为什么HTMLNavElement不是一个东西?似乎大多数其他元素都有自己的“类型”,但似乎被HTMLNavElement遗漏了。

我最初认为HTMLElements 需要自己的类型来指定底层的语义值。

例如:<input type="radio">继承 的接口HTMLInputElement,这确保元素获得 arole的接口radio,并且 a<div>继承 的接口HTMLDivElement,它不提供额外的功能或语义值。

Kai*_*ido 7

因为这些元素不公开任何特定的方法/属性。

例如,它们没有像 <div>align过时的属性 IDL 这样的特定 IDL 属性,该属性仅需要 HTMLDivElements 的DOM 属性:

// HTMLDivElement does expose an align property
console.log(document.querySelector('div').align); // "center"
// HTMLElement doesn't
console.log(document.querySelector('nav').align); // undefined
Run Code Online (Sandbox Code Playgroud)
<div align="center"></div>
<nav align="center"></nav>
Run Code Online (Sandbox Code Playgroud)

  • 说得通!我认为各种原型也负责设置正确的初始语义值的假设是完全错误的。感谢回复! (2认同)