href 属性

定义和用法

href 属性规定链接的目标地址。

如果未使用 href 属性,则 标签不是链接,而是链接的占位符。

HTML 4.01 与 HTML 5 之间的差异

在 HTML 4.01 中, 标签既可以是超链接,也可以是锚。这取决于 href 属性。在 HTML 5 中, 是超链接,但是假如没有 href 属性,它仅仅是超链接的一个占位符。

语法


属性值

值描述

URL

超链接的 URL。可能的值:

绝对 URL - 指向另一个站点(比如 href="http://www.example.com.html")

相对 URL - 指向站点内的某个文件(href="index.html")

锚 URL - 指向页面中的锚(href="#top")

超链接标签的工作原理

1) 浏览器解析a标签的时候,如果a标签的href属性是以http开头,

那么浏览器就会启用http协议的解析器去解析该网址。

首先浏览器会从本地的Hosts文件(c:/windows/system32/drivers/etc)查找是否存在该网址对应的IP。

如果没有就从网络服务提供商的DNS服务器中查找是否存在该网址所对应的IP。

如果DNS服务器也没有,那么浏览器就显示“404 无法访问此网站”,

否则,浏览器就直接请求该IP对应的服务器。

2) 如果a标签的href属性不是以http开头,也不是以其他协议开头,

那么浏览器就会启用file协议的解析器去解析该网址;

3) 如果a标签的href属性不是以http开头,而是以其他协议开头,

浏览器就会去计算机本地的注册表去查找是否存在处理该协议的应用程序。

如果存在的话,浏览器就会启用该协议的默认的应用程序;

target 属性

定义和用法

target 属性规定在何处打开被链接文档。

只能在 href 属性存在时使用。

HTML 4.01 与 HTML 5 之间的差异

不再允许把框架名称设定为目标,因为不再支持 frame 和 frameset。

self, parent 以及 top 这三个值大多数时候与 iframe 一起使用。

语法

属性值

值描述

_blank

在新窗口中打开被链接文档。

_self

在被点击时的同一框架中打开被链接文档(默认)。

_parent

在父框架中打开被链接文档。

_top

在窗口主体中打开被链接文档。