a 标签

267 阅读3分钟

<a>:anchor

1.target属性的值

  • _blank:新开一个页面打开<a>指向的页面

  • _self:在自身窗口打开<a>指向的页面

  • _top:在最顶级的窗口打开<a>指向的页面

  • _parent:在父元素的窗口打开<a>指向的页面

比较:_self _top _parent

这三个值,要在嵌套关系下理解

例子:

在index1.html文件中,使用嵌入index2.html文件,
在index2.html文件中,使用嵌入index3.html文件,
index3.html中有一个<a>

  • 当<a>标签的target值为 _self 时,打开<a>指向的页面的窗口是index3.html本身

  • 当<a>标签的target值为 _parent 时,打开<a>指向的页面的窗口是index2.html,即父元素

  • 当<a>标签的target值为 _top 时,打开<a>指向的页面的窗口是index1.html,即嵌套关系中,最顶级的元素

2.href 能传入什么样的值?(以下例子以https://www.qq.com为例,文件名为index.html)

一、<a>如果没有href,那么浏览器会将它转换成一个

二、qq.com

传入该值,浏览器会把这个地址当作相对地址,即在index.html存在的目录中搜寻qq.com这个文件

三、//qq.com

传入该值,浏览器会识别这是一个网址,而且会自动把index.html的协议赋予qq.com,所以点击<a>可以跳转到www.qq.com页面中

四、#xxxx

这是一个锚点,浏览器会在地址后面添加这个锚点 .../index.html#xxxxx,锚点只是页面的跳转,是不发请求的

五、?a=1&b=2

这是传入查询参数,浏览器会在地址后面添加这个查询参数.../index.html?a=1&b=2,然后发起请求

六、javascript:[JS代码];

之前的地址都是默认是http:协议执行,而这里使用了javascript伪协议,当点击这个<a>后,会执行后面的JS代码,

但是一般不这么用这个功能。一般使用 href="javascript:;" 来获取一个没有任何作用的<a>

七、href="javascript:;" 与 href="#"

前者是执行段空的JS代码,所以不会有任何动作,而后者虽然也不会发生请求,但是有时候这个操作会使页面出现跳转的行为,如果没有指向对应id的锚,则会自动跳转到页面最顶部。

八、href的路径问题blog.csdn.net/weixin_4250…

1.(无)开头表示当前目录下的

2.(/)开头的目录表示该目录为根目录的一个子目录

href="/"指向的是当前文件所在目录所在的盘符

3.(./)开头的目录表示该目录为当前目录(当前目录所在的目录)的一个子目录

4.(../)开头的目录表示该目录为当前目录的父目录

5.(//)开头的目录表示和当前页面使用同一种协议http/https

3.下载download

<a> 默认是查看页面,但是加上 download 属性后,<a>则变成了下载页面

另一种下载页面的方式:通过设置Content-type = application/octet-stream;在请求页面时,则会直接下载