声明:本篇博客是笔者自己的总结加上查找一些资料写成。a标签的介绍这个笔者不在累赘,主要来谈谈a标签的href属性。
1,关于href属性中的javaScript代码
a标签中的JavaScript是一个伪协议,表示url的内容通过JavaScript执行,其他的伪协议还有mail,tel,file等,
javaScript表示的是在触发a标签默认动作时,执行一段JavaScript代码,
javascript:; javascript:void(0);表示去除a标签的默认的href行为,表示什么也不执行。
其中void 是JavaScript 的一个运算符,void(0)就是什么都不做的意思,表示点了这个链接不会有任何反应,等于屏蔽了href属性的指向功能,同时避免了页面时间停留过长,点击链接会回到页面顶部的问题。
这么做往往是保留链接的样式,但是不让链接执行实际操作,具体的操作交给链接的绑定事件,一般我们都加入onclick事件处理。
2,关于href="/"
在url格式中是表示内锚点的意思,也就是说,点击这个链接后,页面会跳到当前页面指定的锚点(或者书签)处,比如在网页的摸个地方有个这样的标签:
<a name="hello"></a>
那么在页面的某个其他的地方只要放一个这样的链接;
<a href="#hello">回到hello处</a>
只要点击这个链接,页面就会跳到上述标签处。
如果url 中用了#但又未指定锚点名称,那么就是跳到当前页面的最顶端,比如
<a href="#">顶端</a>
这也是一般页面“回到顶端”功能的实现方法。
3,关于href="#"
在url格式中是表示内锚点的意思,也就是说,点击这个链接后,页面会跳到当前页面指定的锚点(或者书签)处,比如在网页的摸个地方有个这样的标签:
<a name="hello"></a>
那么在页面的某个其他的地方只要放一个这样的链接;
<a href="#hello">回到hello处</a>
只要点击这个链接,页面就会跳到上述标签处。
如果url 中用了#但又未指定锚点名称,那么就是跳到当前页面的最顶端,比如
<a href="#">顶端</a>
这也是一般页面“回到顶端”功能的实现方法。
4,关于a标签href属性用于文件的下载
通常在咱们写项目的时候会遇到上传下载的情况,在上传完文件后会把文件的路径保存到数据库里以便下载,如果想不通过后台直接下载的话,可以把文件路径给a标签的属性href
<a href="/user/test/xxxx.txt">点击下载</a>
这样当用户打开浏览器点击链接的时候就会直接下载文件。
但是有个情况,比如txt,png,jpg等这些浏览器支持直接打开的文件是不会执行下载任务的,而是会直接打开文件,这个时候就需要给a标签添加一个属性“download”;
<a href="/user/test/xxxx.txt" download="文件名.txt">点击下载</a>
这里download也可以不写任何信息,会自动使用默认文件名。
在这里说明一些IE好像不支持,只能通过后台代码来写,而且跨域会导致download属性无效。