在使用自定义元素的 MDN 文档中,他们详细介绍了自定义内置元素的示例:
customElements.define('expanding-list', ExpandingList, { extends: "ul" });
允许这种用法:
<ul is="expanding-list">
...
</ul>
我想知道是否可以以相同的方式自定义另一个自定义元素?例如,如果我创建了一个名为 的元素custom-element
,并且我想要它的变体,我可能想要创建一个新special-custom-element
类,并以相同的方式定义它,以便能够像这样使用它:
<custom-element is="special-custom-element">
...
</custom-element>
但是,我收到一条错误提示:
Uncaught DOMException: Failed to execute 'define' on 'CustomElementRegistry': "custom-element" is a valid custom element name
尝试运行以下命令时:
customElements.define('special-custom-element', SpecialCustomElement, { extends: 'custom-element' });
这是我做错了什么,还是这种行为严格限于内置元素?除了我链接到的页面上的内容之外,我发现很难找到有关此行为的任何信息,因此我希望从更了解规格的人那里获得一些建议。