当 URL 包含 #key-1 时跳转到 name=key-1

Jump to name=key-1 when URL contains #key-1

每当我的 URL 包含 #.

时,我希望跳转到选定的散列

# 是动态创建并插入到 header($location); 中的。之后新的 URL 加载如下:www.example.com?p=1#key-1,但它不会转到页面上选定的 #。 我该怎么做?

我查看了 javascript window.location.hash,但是我不知道如何正确使用它。

更新: 当我在地址栏中手动输入 #sek-31 时,url 中的 # 有效。但是,当我重新加载相同的 URL 时,我又回到了页面顶部。

更新两个:

更新三:

它在以下浏览器中工作:

如果您转到 www.example.com?p=1#key-1,浏览器将自动滚动到使用 id key-1 的元素。所以,只需添加一个 id 属性。

https://developer.mozilla.org/en/docs/Web/HTML/Element/a#attr-href

(这个 url 已经是这个的演示了。它以 #attr-href 结尾,当你点击它时你会直接进入 #attr-href 部分)

http://output.jsbin.com/bajiqu#res 请注意 我将 #res 放在 url 中,这样浏览器将滚动到 #res 段落。