什么是链接有一个"#"符号

Luk*_*101 87 html

我检查了一些网站,他们在网址上有一个(#)标记.它有什么作用?

 <a href="#" >Link name</a>
Run Code Online (Sandbox Code Playgroud)

Dea*_*ing 102

它是一个"片段"或"命名锚".您可以使用链接到文档的一部分.通常,当您链接到页面时,浏览器会在页面顶部将其打开.但是你链接到一个中间的部分,你可以使用片段链接到该标题(或其他).

如果<a name="whatever"/>页面中没有标记,则浏览器将链接到页面顶部.如果片段为空,那么它也只链接到页面顶部.

对于 片段<a href="#">Link name</a>,那只是指向当前页面顶部的链接.

您经常会看到与javascript结合使用的那种链接.符合标准的HTML需要一个href属性,但如果您计划使用javascript处理请求,那么"#"将作为合理的占位符.

  • 为什么浏览器将其视为"go to top of page":从技术上讲,您更改了页面.单击该链接后,您会注意到#实际上已添加到地址栏中的URL,如果单击后退按钮,则会再次将其删除.我不会说它是指向文档的一部分的链接,更多的是指向文档内部位置的链接.否则,我输入的内容基本相同...... (2认同)

ale*_*lex 23

...只是添加一些额外的有用提示.

您可以使用document.location.hashJavaScript 访问和更改它.

它可以指向命名锚(例如<a name="top"></a>)具有相应id(例如<div id="top"></div>)的元素.

单独看一个(例如<a href="#" onclick="pop()">popup</a>)通常意味着链接被用于专门运行JavaScript.这是不好的做法.

任何a元素都应该href指向有效的资源.如果不存在,请考虑使用其他元素,例如button.

  • @alex,大概是人们使用链接而不是按钮的一个原因是他们想要链接的外观.如何链接到描述如何使按钮看起来像链接的页面?例如[HTML按钮测试](http://jontangerine.com/silo/html/button/) (2认同)

Nat*_*man 11

# 表示锚点的链接.

我还要提一下其他的东西:

使用'#'作为激活JavaScript的链接的href是不好的,因为它将页面滚动到顶部 - 这可能不是你想要的.相反,使用javascript:void(0).

  • 你不再需要锚.从HTML5(可能是HTML 4)开始,具有<id>标记的任何元素都可以被片段标识符作为目标.请参阅HTML5文档:http://www.whatwg.org/specs/web-apps/current-work/multipage/history.html#scroll-to-fragid (4认同)
  • 也不要使用javascript:void(0)-如果不是链接,请使用“按钮”。 (2认同)

Ele*_*Bit 10

井号(#)表示在页面上找到锚点.例如,如果您在页面的某处包含此内容:

<a name="foo"></a>
Run Code Online (Sandbox Code Playgroud)

或者,最近:

<div id="foo">*part of page*</div>
Run Code Online (Sandbox Code Playgroud)

然后单击页面上具有href的链接#foo,它将导航到具有名称或divID 的锚点foo.

但是,如果您只是拥有href #,它将导致页面顶部.