热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

自定义HTML标签和属性

我现在真的有点挣扎,我不知道这可能有多难。我在SO和YouTube上遵循了几个不同的教程和答案,但所有人都在做不同的事情,我现在有点卡住了。我想要的只是c

我现在真的有点挣扎,我不知道这可能有多难。我在 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


lorem ipsum


JS 文件加载在 HTML 文件的标题中

由于它也不是对象,因此我也无法记录my-trophy标签。计划在我的最终 dom 中有多个此类标签。

不管我尝试什么,我都无法获得稀有属性。data即使这是一个自定义 HTML 标记,我是否应该只在这种情况下使用-attributes?

参考:


  • https://www.youtube.com/watch?v=jNbOarODRzE

  • 我如何允许自定义标签和属性 html?

  • 如何为html创建自定义标签

  • https://www.html5rocks.com/en/tutorials/webcomponents/customelements/

有些方法根本不起作用(不再起作用?)(例如,它似乎registerElement不再可用,但现在有defineElement)。

我希望,如果我登录console.log(rarity),输出将是“银”。

对于问题的完整性:我正在尝试运行脚本 Google Chrome

谢谢你的帮助

回答

我运行了你的代码,它与 . 一起工作得很好 constructor ,但你可以试试connectedCallback。每当将元素添加到文档时,都会调用此方法。

在执行之前,请确保您的脚本在文档中运行。HTML/脚本自上而下运行。您的元素需要在呈现之前进行注册。

更新:请参阅Martin Braun 链接的“自定义元素”- Javascript.info文章以获得更好的理解。可以在此处查看官方 MDN 文档:“使用自定义元素”- MDN


class MyTrophy extends HTMLElement {
connectedCallback() {
const rarity = this.getAttribute('rarity');
console.log(`Rarity: ${rarity}`);
}
}
customElements.define('my-trophy', MyTrophy);

my-trophy {
font-size: 3em;
}
my-trophy[rarity="silver"] {
color: #777;
}









推荐阅读
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 在project.properties添加#Projecttarget.targetandroid-19android.library.reference.1..Sliding ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 本文介绍了如何使用jQuery和AJAX来实现动态更新两个div的方法。通过调用PHP文件并返回JSON字符串,可以将不同的文本分别插入到两个div中,从而实现页面的动态更新。 ... [详细]
  • 从零基础到精通的前台学习路线
    随着互联网的发展,前台开发工程师成为市场上非常抢手的人才。本文介绍了从零基础到精通前台开发的学习路线,包括学习HTML、CSS、JavaScript等基础知识和常用工具的使用。通过循序渐进的学习,可以掌握前台开发的基本技能,并有能力找到一份月薪8000以上的工作。 ... [详细]
  • 本文介绍了Java后台Jsonp处理方法及其应用场景。首先解释了Jsonp是一个非官方的协议,它允许在服务器端通过Script tags返回至客户端,并通过javascript callback的形式实现跨域访问。然后介绍了JSON系统开发方法,它是一种面向数据结构的分析和设计方法,以活动为中心,将一连串的活动顺序组合成一个完整的工作进程。接着给出了一个客户端示例代码,使用了jQuery的ajax方法请求一个Jsonp数据。 ... [详细]
  • Vue基础一、什么是Vue1.1概念Vue(读音vjuː,类似于view)是一套用于构建用户界面的渐进式JavaScript框架,与其它大型框架不 ... [详细]
  • 工作经验谈之-让百度地图API调用数据库内容 及详解
    这段时间,所在项目中要用到的一个模块,就是让数据库中的内容在百度地图上展现出来,如经纬度。主要实现以下几点功能:1.读取数据库中的经纬度值在百度上标注出来。2.点击标注弹出对应信息。3 ... [详细]
  • Allegro总结:1.防焊层(SolderMask):又称绿油层,PCB非布线层,用于制成丝网印板,将不需要焊接的地方涂上防焊剂.在防焊层上预留的焊盘大小要比实际的焊盘大一些,其差值一般 ... [详细]
  • 由于同源策略的限制,满足同源的脚本才可以获取资源。虽然这样有助于保障网络安全,但另一方面也限制了资源的使用。那么如何实现跨域呢,以下是实现跨域的一些方法。 ... [详细]
  • 我正在尝试使用scrapycrallsingle运行完美运行的scrapy蜘蛛,但我无法在python脚本中运行它.主要问题是从不执行SingleBlogSpider.parse方 ... [详细]
  • document .ready中的函数怎么被按钮调用? ... [详细]
  • keras归一化激活函数dropout
    激活函数:1.softmax函数在多分类中常用的激活函数,是基于逻辑回归的,常用在输出一层,将输出压缩在0~1之间,且保证所有元素和为1,表示输入值属于每个输出值的概率大小2、Si ... [详细]
author-avatar
手机用户2502908935
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有