a标签的href属性中的\"#\"与\"javascript:;\"的区别

sfkong 2016-11-26

众所周知,a标签的最重要功能是实现超链接和锚点。而且,大多数人认为a标签最重要的作用是实现超链接。

其中,a标签内最重要的属性莫过于href了。那么关于href两者之间又有什么区别的呢?今天我们就来探讨一下!

首先我们接触较多的是

<a href="javascript:;"></a>
    <a href="#"></a>

 这两种写法。这两种写法到底有什么不同呢?用哪种来写更加规范呢?

将href="#"是指联接到当前页面,其实是无意义的,页面也不会刷新。这是一个锚链接。

在制作网页时html语言里的参数,用于指定链接的url ####就是本页链接,href="地址"就是链接到地址 链接本页面 默认本页,不弹出新窗口,空连接时,如果去掉#,则不显示鼠标手型光标。 通俗一点就是 一个 指向本页的假链接 也可以在#后面跟上锚点id 这个实际上是一个书签的另一种用法。

语法:<a href="#书签的名称">链接的文字</a>
链接到不同页面的书签
语法:<a href="链接文件的地址#书签名称">链接的文字</a> (注意引号和#号)
正常情况下点击:<a href="#书签名称">链接的文字</a>这个链接,则光标会自动跳转到本页面的:<a name="书签名称">文字</a>的位置。

如果我们只是想写成一个没有任何事件跳转发生的a标签。我个人并不推荐用<a href="#">这种写法。

但是href这个属性同样可以识别javascript代码段。

其中javascript:  是一个伪协议。它可以让我们通过一个链接来调用javascript函数。但是由于这个函数为空,所以我们调用的就是一个空函数,并不会发生任何实质性的改变。同时可以实现a标签的点击运行。如果当页面里面的内容很多的时候,有了上下滚动条,使用href=“#"会发生跳转到页面顶部的问题。而使用href="javascript:;" 就可以避免页面的乱跳!

所以,如果我们想要写一个死的a标签,使用

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

会更有利于增加我们的页面的用户友好度!

相关推荐