当前位置: 首页 > 面试题库 >

我应该使用“名称”或“ id”制作HTML锚吗?

越信鸥
2023-03-14
问题内容

当要使用“ http://example.com/#foo”方法引用网页的某个部分时,应使用

<h1><a name="foo"/>Foo Title</h1>

要么

<h1 id="foo">Foo Title</h1>

它们都起作用,但是它们是相等的还是语义上的差异?


问题答案:

根据HTML5规范5.9.8导航到片段标识符:

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

  1. 解析URL,并让fragid作为URL的 组件。
  2. 如果fragid是空字符串,则文档的指示部分是文档的顶部。
  3. 如果DOM中有一个元素的ID刚好等于fragid,则树形顺序中的第一个此类元素是文档的指示部分;在此处停止算法。
  4. 如果有一个是 一个 在具有名称属性,其值正好等于fragid的DOM元素,然后在树顺序中的第一元件,例如是在文档的所指示的部分;
    在此处停止算法。
  5. 否则,文档中没有指示的部分。

因此,它将寻找id="foo",然后跟随name="foo"

编辑:正如@hsivonen指出的那样,在HTML5中,a元素没有名称属性。但是,以上规则仍适用于其他命名元素。



 类似资料:
  • 我需要提取以下html https://ndb.nal.usda.gov/ndb/search/list中列出的所有食品的ID和mfg.name 我正在使用Jsoup并且对它很陌生。

  • 这个问题可能是基于观点的,但我想知道我应该使用哪种原则。这是我的情况。 我有一门课叫TravelOffer。该类如下所示: 如您所见,有以下属性: 和

  • 问题内容: 我在此站点上看到了一些东西: 用JavaScript和PHP处理HTML表单元素数组 http://www.ajaxprojects.com/ajax/tutorialdetails.php?itemid=343 它说过将数组放在name属性中,以及如何获取输入集合的值。例如 但据我所知,HTML input元素已通过数组就绪。例如,在客户端()或服务器端(在PHP或ASP.NET中)

  • 问题内容: 为了减少服务器上的请求数量,我将一些图像(PNG和SVG)作为BASE64直接嵌入到CSS中。(它在构建过程中是自动化的) 像这样: 这是一个好习惯吗?有什么理由可以避免这种情况?是否有一些不支持数据URL的主流浏览器? 额外的问题:对CSS和JS这样做也有意义吗? 问题答案: 这是一个好习惯吗?有什么理由可以避免这种情况? 这是一个好习惯,通常仅适用于在IE兼容性无关紧要时将一起使用

  • 我必须用Java实现一个日志机制。所以我使用JEE,使用RequestFilter和拦截器。我把所有这些都放在一个叫做日志记录的包中。 我的类是:请求过滤器,响应过滤器和常量 所以我的问题是。因为类名已经存在于包中,所以不记录类名可以吗? 包日志记录和重复日志记录:请求过滤日志记录,响应过滤日志记录,ConstantsLogging

  • 问题内容: 我的设计师认为在不同页面之间创建过渡是一个好主意。本质上,只有内容部分会重新加载(页眉和页脚保持不变),并且只有内容div应该具有过渡效果(淡入淡出或某种形式)。创造这种效果并不是真正的问题,让Google(分析)感到高兴的是… 我不喜欢的解决方案以及原因; 仅使用ajax加载内容div:谷歌将看不到任何内容,这意味着将永远找不到该网站,或者仅显示由ajax检索的部分,而这些部分根本不