con*_*exo 6 html javascript dom
您可以像这样测试一个元素是否是 adiv或 a span:
const div = document.createElement('div');
console.log(div instanceof HTMLDivElement);
const span = document.createElement('span');
console.log(span instanceof HTMLSpanElement);Run Code Online (Sandbox Code Playgroud)
到目前为止,这种测试方法适用于我所知道的大多数HTML 元素。
不幸的是,检查元素类型的相同方法不适用于section和article 元素,这意味着我可能不得不求助于el.tagName === 'SECTION'respectively el.tagName === 'ARTICLE'。
编辑:刚刚测试,以下全局变量也不存在:
HTMLNavElementHTMLHeaderElementHTMLMainElementHTMLAsideElementHTMLFooterElement有谁知道并且有任何参考,为什么没有HTMLSectionElement和HTMLArticleElement全局变量?
这是因为它们在技术上都是div具有不同标签名称的元素,以提供更好的语义吗?
感谢 @pointy 的评论指出了这一点,当前 HTML 规范的以下部分解释了这一点:
所有 HTML 元素的接口都继承自该基本接口,并且没有附加要求的元素必须使用该基本接口,这就是
HTMLElement接口。