Document.registerElement()

已废弃
该特性已经从 Web 标准中删除,虽然一些浏览器目前仍然支持它,但也许会在未来的某个时间停止支持,请尽量不要使用该特性。

警告:不建议使用document.registerElement(),请使用customElements.define()

草案
本页尚未完工.

Document.registerElement() 在浏览器注册一个新的 自定义元素 ,返回一个该元素的构造函数。

注意这是一项正在试验的技术。你可以在支持Web Components的浏览器中使用。参考 在火狐浏览器启用Web Components 。

语法

var constructor = document.registerElement(tag-name, options);

参数

tag-name
自定义标签的名字。 必须含有一个连字符(-),例如 my-tag。
options 可选
这个参数是一个用于添加描述自定义元素原型属性和扩展的对象,以扩展现有标签。这个参数是可选的。

示例

这里有几个简单的例子:

var Mytag = document.registerElement('my-tag');

我们把新标签注册到浏览器。 Mytag 变量拥有一个构造函数,你可以像如下所示一样使用它创造一个新的my-tag元素

document.body.appendChild(new Mytag());

这样我们就插入了一个空的my-tag元素,你可以通过浏览器提供的开发者工具来找到它。如果你使用浏览器来查看源代码它是不可见的。由于现在元素并没有内容,所以我们在页面中是看不到它的。我们可以给它添加一些内容,以便在页面中看到。 下面是一种往新标签里面添加内容的方式。

var mytag = document.getElementsByTagName("my-tag")[0];
mytag.textContent = "I am a my-tag element.";

浏览器兼容性

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
registerElement
DeprecatedNon-standard
Chrome Full support 35Edge No support NoFirefox No support 31 — 59
Disabled
No support 31 — 59
Disabled
Disabled From version 31 until version 59 (exclusive): this feature is behind the dom.webcomponents.enabled preference (needs to be set to true) and the dom.webcomponents.customelements.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE No support NoOpera Full support 25Safari No support NoWebView Android Full support 37Chrome Android Full support 35Firefox Android No support 31 — 59
Disabled
No support 31 — 59
Disabled
Disabled From version 31 until version 59 (exclusive): this feature is behind the dom.webcomponents.enabled preference (needs to be set to true) and the dom.webcomponents.customelements.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android Full support 25Safari iOS No support NoSamsung Internet Android ?

Legend

Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown
Non-standard. Expect poor cross-browser support.
Non-standard. Expect poor cross-browser support.
Deprecated. Not for use in new websites.
Deprecated. Not for use in new websites.
User must explicitly enable this feature.
User must explicitly enable this feature.

另请参阅