“javascript:;” HTML 锚标记中的 href 属性

2023-11-27

Update

下面的代码的含义和作用是什么?它需要 JavaScript 才能工作吗?

<a href="javascript:;">Do Somthing</a>

Update

等于以下吗?:

<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 将被视为相对链接。例如,链接"index.htm"在域上"google.com"将创建链接"google.com/index.htm"。以同样的方式,href 字符串""将创建链接"google.com/"因此空的 href 字符串将导致浏览器导航到新页面。

通常,如果您不指定 href 属性,链接将不会显示指针光标或将元素格式化为链接,这样您就可以将其用作“锚”元素,您可以使用 URL 中的哈希字符链接到该元素。例如"http://google.com/#an_anchor"会带你到一个类似这样的锚点:<a id="an_anchor">This is an anchor</a>

不过,您可以使用 CSS 强制设置链接格式,如下所示:

CSS:

a {
    color: #00c;
    text-decoration: underline;
    cursor: pointer;
}

HTML:

<a>This is a link.</a>

例子:http://jsfiddle.net/J3RfH/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“javascript:;” HTML 锚标记中的 href 属性 的相关文章

随机推荐