如何区分原生HTMLElement和创建/自定义的?

时间:2015-08-31 12:56:18

标签: javascript html custom-element

假设我有以下HTML代码:

<header>
  <nav>
    <ul>
      <li>My first menu</li>
      <li>My second menu</li>
    </ul>
  </nav>
<header>
<main>
  <section>
    <h2>My title</h2>
    <my-beautiful-text>My text</my-beautiful-text>
  </section>
</main>
<footer>
  Copyright © 2015
</footer>

当我循环所有元素时,我想知道元素(例如nav)是否是本机HTMLElement,或者它是创建的元素(例如my-beautiful-text)。

我已经在谷歌和这里搜索过了,但没有幸运。

我的尝试使用的是constructorinstanceof,它适用于某些元素,例如spandivinput等,但它没有对某些不会覆盖HTMLElement原型的组件起作用。任何猜测?

1 个答案:

答案 0 :(得分:2)

带短划线的标记名称是自定义的。

请参阅规范http://w3c.github.io/webcomponents/spec/custom/