第8章 改进导航
链接使得Web能够走动。如果不能够访问页面到页面和站点到站点的链接所提供的信息,Web无法走远。实际上,它根本无法成为Web了。既然是HTML的最常见和强大的部分之一,那么,自然有很多的JavaScript技术来增强链接的工作。在本章中,我们将学习使用JavaScript控制链接的基本知识,以及如何在新的窗口中和在页面的窗口中打开链接。
8.1 一些链接基础知识
毫无疑问,我们已经知道了关于链接的很多知识。毕竟,它们是Web的核心,并且普通的<a>标签是一位Web设计师学习HTML的第一部分。给页面添加JavaScript可以把一个基本的链接转变为通往超级交互能力的门户,但是,你必须知道如何使用JavaScript来控制链接。一旦有了这些基础知识,本章稍后将介绍一些使用JavaScript控制链接的实用技术。
8.1.1 用JavaScript选择链接
要对Web页面上的链接做些事情,首先必须选择它。我们可以选择一个页面上的所有链接,也可以仅仅选择一个链接或者是特定的一组相关链接,例如,在页面的同一部分组织到一起的链接;或者具有同样特征的链接,例如指向其他Web站点的外部链接。
在选择文档元素方面,jQuery给了我们很大的灵活性。例如,代码$('a')创建了选取页面上所有链接的一个jQuery选择。此外,jQuery允许对选择进行细化,因此,我们可以快速选择页面的一个特定区域内的所有链接。例如,可以像$('#mainNav a')这样来选择包含在一个ID为mainNav的符号列表中的所有链接。同样,可以使用属性选择器(参见本书4.6.2节,来选择HREF值(它们所指向的文件的路径)匹配某个模式的链接,例如指向其他站点的链接,或者指向PDF文件的链接(参见本书8.2节中的示例)。
一旦使用jQuery选择那些链接之后,可以使用jQuery函数来操作这些链接。例如,可以使用each()函数来遍历每个链接(参见2.10节),使用addClass()函数对这些链接应用一个类(参见2.8.1节),或给它们添加事件函数(参见5.1.4节)。在本章稍后内容中,我们将会看到可以对链接做的事情的很多示例。