更新
下面的代码是什么意思?它需要使用JavaScript才能运行吗?
<a href="javascript:;">Do Somthing</a>
更新
等同于以下内容吗?
<a href="">Do Somthing</a>
更新
下面的代码是什么意思?它需要使用JavaScript才能运行吗?
<a href="javascript:;">Do Somthing</a>
更新
等同于以下内容吗?
<a href="">Do Somthing</a>
使用 "javascript:" 作为 href 属性的开头告诉 JavaScript 引擎将字符串的其余部分解释为 JavaScript。在这种情况下,在严格模式下会导致语法错误,因为这实际上是一个带有结束分号的空 JavaScript 行。像这样:
;
大多数浏览器不会报错,但是链接上的javascript是旧语法,应尽可能避免使用。您可以将其安全地用作什么都不做的链接,但我不建议这样做。
如果您想要一个不执行任何操作的链接,您可以使用以下代码:
<a href="#">Link</a>
<a href="javascript:void(0);">Link</a>
<a href="javascript:return false;">Link</a>
仅使用空白的 href 字符串会被浏览器解释为相对链接。不以协议或高级域名标识符(如IP地址)开头的URL将被视为相对链接。例如,在域名 "google.com"
上的链接"index.htm"
将创建链接 "google.com/index.htm"
。同样地,href字符串 ""
将创建链接 "google.com/"
,因此空 href 字符串将导致浏览器导航到一个新页面。
通常,如果未指定 href 属性,则链接将不会显示指针光标或格式化元素,这样您就可以将其用作“锚点”元素,可以使用 URL 中的哈希字符链接到它。例如,"http://google.com/#an_anchor"
将带你到类似这样的锚点:<a id="an_anchor">这是一个锚点</a>
然而,你可以使用 CSS 强制格式化链接,像这样:
CSS:
a {
color: #00c;
text-decoration: underline;
cursor: pointer;
}
HTML:
<a>This is a link.</a>
<a href="#">
这个链接会导致页面滚动到顶部。 - Nimphious这是一个无操作。
另一种常用的方法是使用href="#"
,但这需要在onclick事件中return false
以避免跳转到页面顶部并在地址栏中得到#
。
请注意,通常最好让链接同时适用于JavaScript和非JavaScript,即像<a href="/whatever" onclick="dowhatever(); return false;">
这样做,以便没有JavaScript的人以经典方式打开页面,而有JavaScript的人则可以获得任何您使用JS做的好东西。
如果某些内容完全不适用于JavaScript,即没有有用的href
值,请考虑完全不使用a
标签,而使用带有适当样式的span
(cursor:pointer
和可能有下划线)。
它什么也不做,旨在替换a
标签的默认行为,使链接基本上无法点击。
如果你在:
后面指定了某个函数,那么它将使用<a>
标签进行调用。但是在这里你没有指定任何函数,所以什么也不会发生。