锚标记中href =“###”的用法是什么?

时间:2015-04-05 09:00:41

标签: html asp.net anchor

我在一些专业开发人员项目中看到了这些代码:

<a href="###">
    ...
</a>

有什么用?

Code Image

5 个答案:

答案 0 :(得分:2)

我认为这与<a href="#">Go to link</a>相同,只是使用了三个“###”而不是一个“#”。如果我们愿意,我们可以使用更多#。

答案 1 :(得分:2)

当您希望锚标记不更改href时,通常会写入。例如,如果您想稍后在其上附加事件。

您使用的#有多少并不重要。如果点击,href='#'会使页面跳转到页面顶部。

我首选的方法是<a href="javascript:void(0);"。这样点击完全没有任何意义,而不是跳过页面。

答案 2 :(得分:2)

正如Bhuiyan所说,这是href="#"技巧的变体......

目标

所以,解释这个伎俩。诀窍是解决这样一个事实:如果Anchor标签有一个要链接的目标,它们只会呈现为链接(请参阅此example)。目标是创建一个看起来的链接,就像一个链接,但实际上并没有去任何地方。

如何运作

href="#"成语正在利用锚点可以使用href="#{other element identifier}]"表示法将特定元素指定为目标这一事实。当您执行此操作时,浏览器将重定向或重新加载页面,而是滚动到该元素。因此,当您指定href="#"时,您实际上是在告诉浏览器这是一个链接,但由于没有有效的目标元素,请不要在点击时执行任何操作。

注意:它会像说href="#mybogusid"一样有效,但是你会看到#mybogusid附加到网址上。毛。

TL; DR <a href="###">只是一种让浏览器像锚点一样呈现锚标记,但在点击时无法导航的方法。

答案 3 :(得分:1)

  

有什么用?

这个问题的另一个答案是好的。

关于“锚标记”的第一件事......

就像我提到的引号一样,她特别使用###来创建一个不会去任何地方的链接,为此,href属性必须具有值。请阅读提到的w3.org

浏览器为元素呈现默认样式,并将更改不具有href属性的锚标记的默认样式。相反,它将被视为常规文本。它甚至改变了与元素有关的浏览器行为。悬停没有href属性的锚点时,不会显示状态栏(屏幕底部)。因此,最好在锚点上使用占位符href值,以确保将其视为超链接。

我经常看到<a href="#"><a href="##">,超链接中的主题标签 - #指定了应该滚动窗口的html元素ID。

href="#some_id"会滚动到当前页面上的元素,例如<div id="some_id">

href="//example.com/#some_id"会转到example.com并滚动到该页面上的ID。 href="#"未指定ID名称,但具有相应的位置 - 页面顶部。单击带有href="#"的锚点会将滚动位置移动到顶部。

所以,当你使用<a href="###">时,这会创建一个链接,但它不会去任何地方。您可以使用"##","###"及更多主题标签来创建“超链接”等链接,但它们无处可用。

我的结论:

  

那么,它的用途是什么?

当您需要一个不会去任何地方的超链接时,您可以使用它。它只是告诉浏览器将样式更改为锚标记。 :)

Check this demo...

答案 4 :(得分:-1)

当我有button和js click事件时,这非常有用。每次按下按钮时,使用“#”按钮将滚动到顶部,但是使用“ ###”按钮可根据需要保持在原位!