#链接到非名称元素

时间:2012-05-19 19:07:51

标签: html html5 hyperlink

HTML可以使用“#name”链接将用户定向到命名的锚元素,例如<a name="name">。是否可以链接到任何其他属性,如id或class? HTML5的内容如'itemprop'或'content'怎么样?

3 个答案:

答案 0 :(得分:2)

是的,确实最好使用元素的id在页面中创建内部链接。

示例标记:

<a href="#part2">Part 2</a>

<!-- other html -->

<h2 id="part2">This is part 2</h2>

JS Fiddle demo

值得注意的是,链接只能连接到一个,唯一的目标,因此class(或其他属性)不能用作所有非id可以跨许多元素共享/复制属性。鉴于id 必须 在文档中是唯一的。

答案 1 :(得分:1)

您可以使用元素的名称和ID。原因是url中的hash必须指向页面上的单个元素,而name和id是必须具有唯一值的属性。

答案 2 :(得分:1)

根据http://dev.w3.org/html5/spec/single-page.html#scroll-to-fragid

  

对于HTML文档(和HTML MIME类型),进行以下处理   必须遵循模型来确定所指示的部分   文件是。

     
      
  1. 解析网址,并将fragid作为网址的组成部分。

  2.   
  3. 如果fragid是空字符串,则表示文档的指示部分   是文件的顶部;在这里停止算法。

  4.   
  5. 让解码的fragid是扩展任何序列的结果   fragid中的百分比编码八位字节是有效的UTF-8序列   UTF-8定义的Unicode字符。如果是任何百分比编码的八位字节   在该字符串中不是有效的UTF-8序列(例如,它们扩展为   代理代码点),然后跳过这一步和下一步。

  6.   
  7. 如果没有跳过此步骤,并且DOM中有一个元素    ID 与解码的fragid完全相同,然后是第一个这样的元素   树顺序是文件的指示部分;停下来   算法在这里。

  8.   
  9. 如果DOM中有一个名称属性的元素   value完全等于fragid(未解码的fragid),然后是第一个   树序中的这种元素是文档的指示部分;停   算法在这里。

  10.   
  11. 如果fragid是字符串top的ASCII不区分大小写匹配,那么   文件的指定部分是文件的顶部;停   算法在这里。

  12.   
  13. 否则,文件中没有明确的部分。

  14.         

    用于HTML与Selectors:target的交互   伪类,目标元素是指示的部分   文件,如果是元素;否则就没有目标元素。