當想要使用「 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>