我正在使用哈希的偵聽器來顯示和隱藏內容DIV並滾動到相同名稱的命名定位點的網站上工作。與NAME相同的命名定位點(A)與DIV ID衝突相同
我有一個奇怪的問題,而不是滾動到錨點,它會滾動到ID與錨點的名稱相同的DIV。
一旦我將DIV ID更改爲不同的東西,其行爲與預期相同。
我似乎無法找到任何文件,並想知道這是否是記錄的行爲。
的作品代碼:
<a name="top">top</a>
<p id="bottomx" style="height: 1800px;">
<a href="#top">top</a>
<a href="#bottom">bottom</a>
<br>
</p>
<a name="bottom">bottom</a>
工作不正常:
<a name="top">top</a>
<p id="bottom" style="height: 1800px;">
<a href="#top">top</a>
<a href="#bottom">bottom</a>
<br>
</p>
<a name="bottom">bottom</a>
在第二個例子中,它會滾動到名爲 「底」 在P。同樣,如果我在頁面底部創建一個ID爲「bottom」的DIV,並且我點擊page.html#bottom,它會向下滾動到該DIV。
看起來很混亂。一個想法,爲什麼這是這樣工作?在Safari和FF中同樣的行爲。
有趣 - 我很難在HTML5規範中找到它。 –
如果在[HTML4規範](http://www.w3.org/TR/html401/struct/links.html#h-12.2.3)中發現:*「id'和'name'屬性共享相同的名稱空間,這意味着它們不能在同一個文檔中定義具有相同名稱的錨。「*。我認爲這是在HTML5規範中重新定義的,以考慮瀏覽器實現的常見行爲。 –