You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在HTML和SVG中使用两个相同的ID是否符合规范?

你提到的写法不符合前端HTML代码规范。

  • HTML标准明确规定,id属性在整个HTML文档内必须全局唯一,不存在「不同类型元素、不同嵌套层级的元素可以共用相同id」的例外规则,即使是SVG内部<defs>标签中定义的元素id,也属于全局id命名空间,同样要遵守唯一性要求。
  • 重复id会直接导致多类功能异常:执行document.getElementById('main')时只会返回第一个匹配到的div元素,无法选中你定义的path节点;CSS的#main选择器在不同浏览器中可能出现渲染不一致的问题;同时页面锚点跳转、无障碍屏幕阅读器识别等原生功能也会受到影响。

优化建议:如果需要保留标识,可以给SVG内部的id增加专属前缀区分,比如改为id="svg-main",非唯一标识的场景优先使用class属性。

内容的提问来源于stack exchange,提问作者AGamePlayer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 23:09:03