当一个人想用“ http://example.com/#foo
”方法引用网页的某些部分时,应该使用
<h1><a name="foo"/>Foo Title</h1>
或者
<h1 id="foo">Foo Title</h1>
它们都有效,但它们是相等的,还是有语义差异?
原文由 Henrik Paul 发布,翻译遵循 CC BY-SA 4.0 许可协议
当一个人想用“ http://example.com/#foo
”方法引用网页的某些部分时,应该使用
<h1><a name="foo"/>Foo Title</h1>
或者
<h1 id="foo">Foo Title</h1>
它们都有效,但它们是相等的,还是有语义差异?
原文由 Henrik Paul 发布,翻译遵循 CC BY-SA 4.0 许可协议
您不应该在用作 <h1><a name="foo"/>Foo Title</h1>
的任何风格的 HTML 中使用 text/html
,因为 text/html
不支持 XML 空元素语法但是, <h1><a name="foo">Foo Title</a></h1>
在 HTML4 中是可以的。它在当前起草的 HTML5 中无效。
<h1 id="foo">Foo Title</h1>
在 HTML4 和 HTML5 中都可以。这在 Netscape 4 中不起作用,但您可能会使用许多在 Netscape 4 中不起作用的其他功能。
原文由 hsivonen 发布,翻译遵循 CC BY-SA 2.5 许可协议
2 回答1.4k 阅读✓ 已解决
2 回答857 阅读✓ 已解决
1 回答1.1k 阅读✓ 已解决
1 回答856 阅读✓ 已解决
2 回答766 阅读
1 回答744 阅读✓ 已解决
2 回答1.1k 阅读
根据 HTML 5 规范, 5.9.8 导航到片段标识符:
所以,它会寻找
id="foo"
,然后会找到name="foo"
编辑:正如@hsivonen 所指出的,在 HTML5 中
a
元素没有名称属性。但是,上述规则仍然适用于其他命名元素。