如何在不使用customElement的情况下创建自定义HTML标记?

How do I create a custom HTML tag, without using customElement?

本文关键字:创建 情况下 自定义 HTML 标记 customElement      更新时间:2023-09-26

我需要用JavaScript为Firefox创建一个自定义HTML标记。我不能使用customElement.define(),因为它不是Firefox中可用的默认类。

我试图使用document.registerElement,但我不认为我得到它的权利。

我的代码有什么问题?

var My_weird_img = document.registerElement('weird-img', {
    prototype: Object.create(HTMLElement.prototype)
});
My_weird_img.textContent = "I am a B img";

您所做的是更改变量值,而不是设置元素的文本内容。在你尝试设置它的值之前,你需要先抓取元素,试试this
Html:

  <body>
    <weird-img>Ths is only a test</weird-img>
    </body>
Javascript:

var My_weird_img = document.registerElement('weird-img', {
prototype: Object.create(HTMLElement.prototype)
});
document.getElementsByTagName("weird-img")[0].textContent;

在JSBin查看代码全文在这里