首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >#链接到非名称元素

问#链接到非名称元素
EN

Stack Overflow用户
提问于 2012-05-20 03:07:51
回答 3查看 199关注 0票数 0

HTML可以使用"#name“链接将用户定向到已命名的锚点元素,如<a name="name">。是否可以链接到任何其他属性,如id或class?像'itemprop‘或者’HTML5‘这样的东西怎么样?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-05-20 03:10:25

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

示例标记:

代码语言:javascript
复制
<a href="#part2">Part 2</a>

<!-- other html -->

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

JS Fiddle demo。

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

票数 2
EN

Stack Overflow用户

发布于 2012-05-20 03:12:38

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

票数 1
EN

Stack Overflow用户

发布于 2012-05-20 03:13:51

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

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

  1. 解析URL,并让fragid是URL的组成部分。
  2. 如果fragid是空字符串,则文档的指示部分是文档的顶部;在这里停止算法。
  3. 让解码的fragid是将fragid中任何百分比编码的八位字节序列展开为Unicode字符的结果,这些八位字节是有效的UTF-8序列。如果该字符串中任何百分比编码的八位字节不是有效的UTF-8序列(例如,它们扩展为代理代码点),则跳过这一步和下一步。
  4. 如果没有跳过这一步,并且DOM中有一个元素的ID恰好等于解码的fragid,则树顺序中的第一个这样的元素是文档的指示部分;在此处停止算法。
  5. 如果DOM中的a元素的name属性的值恰好等于fragid (不是已解码的fragid),则树顺序中的第一个此类元素是文档的指定部分;请在此处停止算法。
  6. 如果fragid是字符串顶部的ASCII码不区分大小写的匹配项,则文档的指定部分是文档的顶部;停止算法

对于HTML与Selectors :target伪类的交互,如果是元素,那么目标元素就是文档中指定的部分;否则就没有目标元素。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10668075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档