Html 在不使用锚的情况下创建指向网页顶部的链接

Html 在不使用锚的情况下创建指向网页顶部的链接,html,anchor,Html,Anchor,我有一个HTML文档,目前有一些链接到页面顶部使用锚 <body id="topofpage"> ... <a href="#topofpage">Go to top</a> ... 但是,我不喜欢需要创建一个无用的id,也不喜欢在单击链接后“#topofpage”如何显示在URL中。我还能做些什么来链接到页面顶部而不使用Javascript吗?我尝试使用完全删除锚定,但这会导致页面刷新。您可以尝试使用javascript 或者可以使用jQ

我有一个HTML文档,目前有一些链接到页面顶部使用锚

<body id="topofpage">
   ...
   <a href="#topofpage">Go to top</a>

...

但是,我不喜欢需要创建一个无用的id,也不喜欢在单击链接后“#topofpage”如何显示在URL中。我还能做些什么来链接到页面顶部而不使用Javascript吗?我尝试使用
完全删除锚定,但这会导致页面刷新。

您可以尝试使用javascript

或者可以使用jQuery

$("#Top").click(function(){
 scroll(0,0);
});
规范空片段
#
,特殊片段
#top
将链接到页面顶部

<a href="#">Go to top</a>

<a href="#top">Go to top</a>


如果您使用这些特殊的片段名称,则无需创建匹配的锚定。

我知道您说过不使用JavaScript,但我认为这确实是避免使用真正锚定的唯一方法。下面的jQuery将用
#top
href替换锚,并在不更改URL的情况下执行一个漂亮的动画滚动到顶部(有关更多信息,请参阅的页面)

然而,我会坚持使用锚,并将锚用于它们的目的,以便最大数量的浏览器能够解释正确的含义。不要忘记残疾人需要屏幕阅读器或其他特殊浏览器。锚是保证工作的

除此之外,Google还提供了一些新的索引功能,这些功能可以直接利用页面内的锚来提供Web搜索者可能需要的额外上下文。在许多情况下,用户可能对页面的某个部分非常感兴趣。谷歌可以提供一个直接链接到该页面的锚,以获得最佳相关性


从我的观点来看,底线是——不要破坏锚。使用它们。

将帮助您达到目的。

使用锚定标记获取页面顶部的另一种有用方法是

<a href='#top'> Go back to the top of the page.</a>


这样使用它会使您的页面自动滚动到当前页面的顶部。希望这对其他人有用。

如果我这样做,如果我单击带有“在新选项卡中打开”的链接,它将失败。这样使用Javascript真的是唯一的方法吗?另外,滚动功能是跨浏览器的吗?我希望是这样,但我认为这不会在所有浏览器中都适用:HTML5规范定义了一个特殊的片段“#top”,可以用来链接到文档的顶部。无需显式定义ID为“top”的元素。请看Mozilla的。这个答案确实回答了最初的问题,但是它对可访问性产生了负面影响。如果您单击这些链接中的任意一个并按enter键,则下次单击tab键时,您将在返回顶部链接后转到该链接。然而,如果您使用原始问题中的标记,则制表符将继续指向目标元素之后的链接。出于这个原因,我建议使用原始问题中的标记。@Votemike这肯定是浏览器中的可访问性错误吗?
<a href='#top'> Go back to the top of the page.</a>