假设我有以下标记:
<div id ="About" style="height: 2000px">
About
</div>
<div id="Work" style="height: 2000px">
Work
</div>
当我运行 location.hash = 'Work';
时,浏览器会直接跳转到“Work”元素的位置。我期待带有名称属性的 anchor 标记的行为。但在我们的例子中,它是一个带有 ID 的 div
容器。我在 IE8/9 和 Chrome 中对此进行了测试。
为什么浏览器在更改哈希值时会跳转到 div
容器?
为了您的方便,我打开了一个 jsFiddle .
最佳答案
不仅仅是具有名称属性的 anchor ,任何具有 ID 的内容都可以使用 location.hash 或 URL 中的 #Work 跳转到。
例如,单击 here将带您到此页面中的 id #show-editor-button
关于javascript - 为什么改变hash时浏览器会跳转到ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13192871/