javascript - 为什么改变hash时浏览器会跳转到ID?

标签 javascript anchor hashtag

假设我有以下标记:

<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/

相关文章:

javascript - 理解 Angular 的 promise

Javascript - 如何创建一个国家和城市的级联下拉列表,并在 AngularJS 中选择一个国家作为默认国家?

javascript - Zurb Foundation 6 - 使用 jQuery 关闭模态框

java - 独特的标签计数器

ios - 在 Cocoa 中集成 Twitter 搜索 API

php - 使用 Javascript 和 JQuery UI 的 while 循环失败

PHP 链接不起作用

html - 如何通过悬停摆脱 <a> 标签内 <span> 上的下划线?

c++ - 如何在 C++ 中使用 ShellExecute 跳转到网页 anchor <a> 标记?

css - 如何在 Chrome 中使用 %23 而不是#?