【发布时间】:2021-06-07 13:32:56
【问题描述】:
我现在真的有点挣扎,我不知道这可能有多难。 我在 SO 和 YouTube 上关注了几个不同的教程和答案,但所有人的做法都不同,我现在有点卡住了。
我想要的只是一个custom HTML-Tag 和一些custom attributes
我用这种方法(JS)试过了
class MyTrophy extends HTMLElement {
constructor() {
super();
var rarity = this.getAttribute("rarity");
console.log("rarity: " + rarity);
}
}
customElements.define("my-trophy", MyTrophy);
HTML
<body>
<my-trophy rarity="silver" id="someID">lorem ipsum</my-trophy>
</body>
JS-File 加载到 HTML-File 的头部
由于它也不是对象,所以我也无法记录 my-trophy 标记。计划在我的最终 dom 中有多个此类标签。
我尝试什么都没关系,我没有让稀有属性起作用。我是否应该在这种情况下只使用data-attributes,即使这是一个自定义 HTML 标记?
参考资料:
- https://www.youtube.com/watch?v=jNbOarODRzE
- How can i allow custom tags and attributes html?
- How to create custom tags for html
- https://www.html5rocks.com/en/tutorials/webcomponents/customelements/
有些方法根本不起作用(不再起作用?)(例如,registerElement 似乎不再可用,但现在有 defineElement)。
如果我登录console.log(rarity),我希望输出将是“银”。
为了问题的完整性:我正在尝试在 Google Chrome 中运行脚本
感谢您的帮助
【问题讨论】:
标签: javascript html