This feature is not Baseline because it does not work in some of the most widely-used browsers.
The getName() method of the CustomElementRegistry interface returns the name for a previously-defined custom element.
getName(constructor)
constructorConstructor for the custom element.
The name for the previously defined custom element, or null if there is no custom element defined with the constructor.
class MyParagraph extends HTMLElement {
constructor() {
let templateContent = document.getElementById("custom-paragraph").content;
super() // returns element this scope
.attachShadow({ mode: "open" }) // sets AND returns this.shadowRoot
.append(templateContent.cloneNode(true));
}
}
customElements.define("my-paragraph", MyParagraph);
// Return a reference to the my-paragraph constructor
customElements.getName(MyParagraph) === "my-paragraph";
| Specification |
|---|
| HTML> # dom-customelementregistry-getname> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
getName |
117 | 117 | 116 | 103 | 17Supports 'Autonomous custom elements' but not 'Customized built-in elements'. |
117 | 116 | 78 | 17Supports 'Autonomous custom elements' but not 'Customized built-in elements'. |
24.0 | 117 | 17Supports 'Autonomous custom elements' but not 'Customized built-in elements'. |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/CustomElementRegistry/getName