2 个回答

Google 的项目很多都是用的 Web Component。
Youtube看起来也是Web Component,但是不像是 Lit / Polymer 框架实现的,估计是 Google 内部没有公开的Web Component 框架。
从下面这个方法可以看到这是一个自定义标签。

image.png

另外 Chrome 浏览器的下载页面用的是 Polymer 实现的。

image.png

另外 id 这里没有看出来什么特别的,不过 id 其实也不是完全不能重复,主要是看网站怎么设计,优势后并以一定要遵从大多数人的想法。

看这个 ID 用来干啥。


如果是用于文档锚点、document.getElementById 等等,那只会认第一个。这也是为啥要避免 ID 重复。

W3C 在 DOM 规范中是如此描述的:

If more than one element has an ID attribute with that value, what is returned is undefined.

言外之意是你可以重复,但重复有什么后果,不做规定,所以你得到什么奇怪的结果都有可能。

P.S. 对于 XHTML 而言,ID 是一定不能重复的,因为这是 XML 的语法要求。但绝大多数网页都不是基于 XHTML 来书写的。


如果仅仅是用于 CSS 选择器,那么 ID 可以重复,CSS 会匹配所有符合条件的元素。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题