当想要使用“ http://example.com/#foo
”方法引用网页的某些部分时,应该使用 浏览器
<h1><a name="foo"/>Foo Title</h1>
要么 安全
<h1 id="foo">Foo Title</h1>
他们都工做,但他们是平等的,仍是他们有语义差别? app
<h1 id="foo">Foo Title</h1>
是什么应该使用。 除非您想要连接,不然不要使用锚点。 spa
我有一个由多个垂直堆叠的div容器组成的网页,格式相同,只有序列号不一样。 我想在每一个div的顶部隐藏名称锚点,所以最经济的解决方案是将锚点做为开头div标签中的id包括,即, code
<div id="[serial number]" class="topic_wrapper">
维基百科大量使用此功能,以下所示: ip
<a href="#History">[...]</a> <span class="mw-headline" id="History">History</span>
维基百科正在为每一个人工做,因此我以为这个表格很安全。 get
另外请不要忘记,您不只可使用spans,还可使用div或甚至表格单元格,而后您能够访问元素上的:target伪类。 只要注意不要改变宽度,就像粗体文字同样,致使内容移动,这是使人不安的。 it
命名锚点 - 个人投票是避免: class
如何将旧浏览器的name属性和id属性用于新浏览器。 将使用这两个选项,默认状况下将执行回退方法! 容器
为JavaScript用户着想: 全部ID都成为窗口下的全局变量 。
<h1 id="foo">Foo Title</h1>
刚刚建立了JS全局:
window.foo
window.foo
的值将是h1
的HTMLElement
。
除非您能够保证id
属性中使用的全部值都是安全的,不然您可能更喜欢坚持使用name
:
<h1 name="foo">Foo Title</h1>