我在一些专业开发人员项目中看到了这些代码:
<a href="###">
...
</a>
有什么用?
答案 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="###">
时,这会创建一个链接,但它不会去任何地方。您可以使用"##","###"
及更多主题标签来创建“超链接”等链接,但它们无处可用。
那么,它的用途是什么?
当您需要一个不会去任何地方的超链接时,您可以使用它。它只是告诉浏览器将样式更改为锚标记。 :)
答案 4 :(得分:-1)
当我有button和js click事件时,这非常有用。每次按下按钮时,使用“#”按钮将滚动到顶部,但是使用“ ###”按钮可根据需要保持在原位!