ハッシュのリスナーを使用してコンテンツDIVを表示および非表示にし、同じ名前の名前付きアンカーにスクロールするサイトで作業しています。DIV IDと同じ名前の名前付きアンカー(A)
アンカーにスクロールする代わりに、アンカーの名前と同じ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>
は期待通りに動作していない:2番目の例では
<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 spec](http://www.w3.org/TR/html401/struct/links.html#h-12.2.3)で見つかった場合:* "id属性とname属性は共有しています同じ名前空間です。つまり、同じ文書内に同じ名前のアンカーを定義することはできません。私はこれがHTML5仕様で再定義され、一般的な動作ブラウザが実装されていると考えていると仮定します。 –