据我了解,id
属性用作整个文档中某些标记的唯一标识符,而name
用作标识符(在文档中不一定是唯一的)与一些数据一起发送到服务器。
但是,在MDN页面中使用元素检查器(以this为例),我注意到文章中存在的所有文章的h1
.. h6
标记导航树具有name
个属性,并且它们与各自的标记id
相同。在这种情况下,这些属性的用途是什么?它们是否用于构建导航树?
答案 0 :(得分:4)
很可能它用于书签锚点跳转到页面的特定部分。在过去的日子里,您将使用name属性来定位元素,但是今天您使用ID。所以它可能只是向后兼容的延续。
如果您查看https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#Clicking_and_focus,您会看到解释:
名称(仅限HTML 4,自HTML5以来已过时)此属性是必需的 定义页面内目标位置的锚点。名称的值 类似于id核心属性的值,应该是一个 文档唯一的字母数字标识符。 在HTML 4.01下 规范,id和名称都可以与
<a>
元素一起使用 只要他们有相同的价值观。使用说明:此属性为 在HTML5中过时,请改用全局属性ID。
答案 1 :(得分:0)
name
属性在各种元素中是允许的,并且在它们中具有部分不同的含义。在链接到问题的页面上,它用于标题元素,例如
<h2 id="JavaScript_Review" name="JavaScript_Review">JavaScript review</h2>
此类用法在任何HTML版本中均无效,name
属性对此类元素无效。该构造可能是由一些奇怪编码或配置的编写软件生成的。
确切地说,属性(如一般的未知属性)不会被完全忽略。它存储在DOM中,位于元素节点的attributes
对象中(但不是节点的name
属性,如果它是已定义的属性)。这意味着可以用于脚本和样式。