jQuery应用开发实践指南
标 签:Java Java Script J2EE 程序设计 计算机/网络
这是一本完全以实例方式来全方位讲解jQuery应用开发的著作,由Ajax领域的技术权威撰写。书中不仅详细讲解了jQuery的各种组件的功能特性和jQuery应用开发的流程与方法,而且还讲解了jQuery UI和jQuery Mobile等扩展及插件的用法,可以帮助读者迅速掌握jQuery的用法并具备实战能力。
书中精选了jQuery的核心组件,着重介绍了jQuery对传统JavaScript编程的增强,具体包括:jQuery的使用环境以及这个框架在环境中的切入方式, jQuery的工作原理,选择器和过滤器,如何访问网页的元素,如何在jQuery中使用样式表进行格式化, jQuery下的事件处理,特效与动画的制作,Ajax。除了核心框架之外,本书还用独立的章节介绍了jQuery UI、jQuery Mobile以及插件的使用和开发。附录介绍了JavaScript的相关知识。细心研读之下,相信你会对这一流行框架有全面的了解,提升Web编程能力。
Ralph Steyer?资深程序员,在各种计算机编程语言和技术方面有数十年经验,是Ajax领域的技术权威。此外,他还是一名顾问、记者和作家,著有《JavaScript Handbook》和《Ajax Frameworks》等多本Web开发相关的著作。
译者简介
姚军
曾在多家券商任IT经理,在系统集成、数据库、网络系统方面有近20年经验,主导及参与了多个大型系统集成项目的需求分析、实施及维护,由于工作原因,在计算机领域涉猎极广。自2006年开始,工作之余将大量精力投入IT图书的翻译工作,经验十分丰富。译著包括《HTML5 WebSocket权威指南》和《服务设计模式:SOAP/WSDL与RESTful Web服务设计解决方案》等书。
译者序
第1章 导言 1
1.1 本书的内容 2
1.2 本书使用的约定 5
1.3 本书的目标读者 5
1.4 你需要什么 5
1.4.1 硬件和操作系统 5
1.4.2 jQuery和jQuery UI 5
1.4.3 浏览器 7
1.4.4 用于测试的不同操作系统和虚拟机 9
1.4.5 实际测试用的Web服务器 9
1.4.6 开发工具 11
1.5 关于作者 13
1.6 小结 13
第2章 jQuery的第一批示例 14
译者序
第1章 导言 1
1.1 本书的内容 2
1.2 本书使用的约定 5
1.3 本书的目标读者 5
1.4 你需要什么 5
1.4.1 硬件和操作系统 5
1.4.2 jQuery和jQuery UI 5
1.4.3 浏览器 7
1.4.4 用于测试的不同操作系统和虚拟机 9
1.4.5 实际测试用的Web服务器 9
1.4.6 开发工具 11
1.5 关于作者 13
1.6 小结 13
第2章 jQuery的第一批示例 14
2.1 元素访问和DOM保护 14
2.2 用jQuery风格的DHTML编辑网页 18
2.3 以动画方式缩小和扩大一个元素 20
2.4 动态改变特性 24
2.5 小结 25
第3章 基本知识 26
3.1 互联网上的Web、Web 2.0和客户/服务器准则 26
3.1.1 Web上的编程 27
3.1.2 Web 2.0 27
3.2 JavaScript及其与jQuery的关系 28
3.3 AJAX和XMLHttpRequest(XHR) 31
3.3.1 XML 32
3.3.2 JSON 34
3.3.3 关于JavaScript程序处理JSON的更多细节 35
3.4 DOM和对象 38
3.5 样式表和DHTML 40
3.5.1 CSS:Web标准语言 40
3.5.2 CSS声明的具体语法 41
3.5.3 选择器 41
3.6 小结 41
第4章 jQuery 工作原理 42
4.1 访问网页元素 43
4.2 jQuery命名空间和jQuery对象 45
4.3 jQuery中的特殊数据类型和结构 45
4.3.1 选项 46
4.3.2 Map 46
4.3.3 Array<类型>标记法 47
4.3.4 jqxHR 47
4.4 jQuery()函数和$()别名 47
4.5 在DOM构建之后执行函数 49
4.5.1 作为jQuery()参数的回调或者匿名函数 50
4.5.2 将document.ready()放入外部JavaScript文件 52
4.5.3 为模块化jQuery Web应用创建基本结构的示例 52
4.6 用jQuery()创建一个元素并将其插入网页 54
4.7 用jQuery()包装现有元素 58
4.8 使用jQuery和其他框架结合 60
4.9 关于上下文的更多知识 62
4.10 链接jQuery对象 64
4.11 版本1.5之后的新核心技术 65
4.11.1 jQuery.sub() 65
4.11.2 jQuery.when() 65
4.11.3 版本1.6:有何新特性 66
4.12 小结 67
第5章 选择器和过滤器 68
5.1 基础知识 69
5.1.1 什么是选择器 69
5.1.2 什么是过滤器 69
5.1.3 作为基础的XPath 69
5.2 基本选择器和层次化选择器 71
5.2.1 示例 72
5.2.2 潜在的问题 78
5.3 过滤选择器 79
5.3.1 基本过滤器 79
5.3.2 内容过滤器 84
5.3.3 可见性过滤器 86
5.3.4 子过滤器 88
5.3.5 特性过滤器 90
5.3.6 表单元素过滤器和表单过滤器 93
5.4 过滤器方法 97
5.4.1 eq() 97
5.4.2 not() 97
5.4.3 first()和last() 97
5.4.4 slice() 97
5.4.5 filter() 98
5.4.6 is() 99
5.4.7 map() 100
5.5 小结 101
第6章 访问网页的元素 102
6.1 检查、修改、添加和删除节点的一般信息 102
6.2 检查和修改节点内容:html()和text() 102
6.3 表单字段的内容:val() 105
6.4 通过attr()访问特性 107
6.5 在网页中插入节点 107
6.5.1 append()和prepend() 107
6.5.2 appendTo()和PrependTo() 111
6.6 在前面或者后面插入节点 116
6.6.1 after()和before() 116
6.6.2 insertAfter()和insertBefore() 119
6.7 包装 120
6.7.1 用wrap()单独包装 120
6.7.2 用wrapAll()包装所有元素 122
6.7.3 用wrapInner()包装内部区域 123
6.7.4 用unwrap()解除包装 124
6.8 用replaceWith()和replaceAll()替换 124
6.8.1 用replaceWith()替换 124
6.8.2 用replaceAll()替换所有元素 127
6.9 用empty()和remove()/detach 以及removeAttr()删除 129
6.9.1 remove()的替代品:detach() 133
6.9.2 删除特性 133
6.10 用clone()进行克隆 134
6.11 搜索和查找 138
6.11.1 子节点和父节点:children()和parent()加上parents()/parentsUntil() 138
6.11.2 offsetParent()和closest() 141
6.11.3 兄弟元素 142
6.11.4 用has()搜索后代 144
6.12 用find()和contents()寻找 145
6.13 在数组和对象中循环的jQuery方法each() 146
6.13.1 jQuery.each() 147
6.13.2 each()方法 151
6.14 add()方法 152
6.15 更为全面的一个例子:日期组件 153
6.16 小结 160
第7章 在jQuery中使用样式表格式化 161
7.1 css()方法 162
7.1.1 获取样式属性 162
7.1.2 设置属性 163
7.2 修改元素的类 164
7.2.1 添加类:addClass() 165
7.2.2 删除类:removeClass() 171
7.2.3 切换类:toggleClass() 172
7.2.4 测试一个类:hasClass() 174
7.3 定位方法 176
7.3.1 用position()确定位置 176
7.3.2 文档相对定位:offset() 180
7.4 滚动方法 186
7.5 高度和宽度 189
7.6 内部和外部尺寸 191
7.7 小结 193
第8章 jQuery下的事件处理 194
8.1 事件、事件处理器、触发器和数据绑定的基本信息 194
8.1.1 事件 194
8.1.2 事件处理器的一般信息 194
8.1.3 HTML事件处理器 195
8.1.4 JavaScript事件处理器 195
8.1.5 事件对象 196
8.1.6 冒泡 197
8.1.7 数据绑定 198
8.1.8 触发器 198
8.2 jQuery中的事件对象 198
8.2.1 jQuery.Event构造程序 198
8.2.2 jQuery.Event事件对象的属性 199
8.2.3 jQuery.Event类型对象的方法 201
8.3 坐稳了,出发:$(document).ready() 203
8.4 事件助手 203
8.5 扩展的事件处理方法 206
8.5.1 bind()和unbind()方法 206
8.5.2 仅有的一个:one() 209
8.5.3 trigger()方法 209
8.5.4 triggerHandler() 211
8.5.5 实时事件:live()和die()方法以及delegate()和undelegate() 212
8.5.6 交互辅助函数 215
8.6 小结 218
第9章 特效与动画 219
9.1 基本用法 219
9.1.1 你所需要的就是速度 219
9.1.2 指定一个回调 220
9.1.3 链接 220
9.1.4 队列 221
9.1.5 通过stop()和jQuery.fx.off停止 221
9.1.6 永不停止的动画 222
9.1.7 动画的类型 222
9.2 显示和隐藏:show()和hide()方法 223
9.3 滑动特效:slideDown()、slideUp()和slideToggle() 223
9.4 透明度特效:fadeIn()、fadeOut()和fadeTo()(加上toggle()) 225
9.5 用animate()实现单独动画 227
9.6 小结 232
第10章 AJAX 233
10.1 AJAX和XMLHttpRequest(XHR)基础 233
10.1.1 手工创建一个XMLHttpRequest对象 234
10.1.2 XHR对象方法 235
10.1.3 XHR对象属性 235
10.1.4 不使用特殊jQuery方法的数据请求实用示例 236
10.1.5 AJAX通信的数据格式 237
10.1.6 AJAX请求处理 238
10.2 jQuery中的特殊AJAX支持 239
10.2.1 JSONP和远程请求 239
10.2.2 jqXHR对象 239
10.2.3 jQuery中的AJAX请求方法 240
10.2.4 指定数据类型 240
10.2.5 避免缓冲 241
10.3 $.get()和$.post() 241
10.3.1 只从Web服务器请求普通文本 242
10.3.2 通过$.get()和$.post()向Web服务器发送数据 243
10.3.3 获取和解析XML数据 246
10.4 获取和解析JSON数据:getJSON()和parseJSON() 249
10.4.1 简单的JSON应用 249
10.4.2 通过JSONP请求Twitter Tweet 250
10.5 通过AJAX在以后加载脚本:jQuery.getScript() 253
10.6 加载数据的通用变种:load() 254
10.7 序列化数据 258
10.7.1 serialize()方法 259
10.7.2 serializeArray()方法 260
10.7.3 通用版本:param() 260
10.8 AJAX的默认值 260
10.9 AJAX事件和AJAX事件处理器 261
10.9.1 局部事件 261
10.9.2 全局事件 262
10.10 完全控制 263
10.10.1 jQuery.ajax() 263
10.10.2 JSONP请求 267
10.10.3 加载和执行JavaScript文件 268
10.10.4 发送数据并评估成功 268
10.10.5 $.ajax()的扩展技术 269
10.11 小结 271
第11章 jQuery UI 272
11.1 什么是jQuery UI 272
11.1.1 支持交互的组件 273
11.1.2 窗口小部件 273
11.1.3 扩展特效 274
11.1.4 主题框架和ThemeRoller 274
11.2 入门 274
11.3 如何使用jQuery UI 275
11.3.1 下载和ThemeRoller 275
11.3.2 在网页上使用jQuery UI 279
11.3.3 jQuery UI样板网页 280
11.4 使用jQuery UI中的组件 280
11.4.1 默认设置 281
11.4.2 组件和窗口小部件的一些基本原则 282
11.4.3 组件的属性/选项 283
11.4.4 组件的方法 285
11.4.5 组件和窗口小部件中的事件 288
11.5 组件和窗口小部件概述 291
11.5.1 交互组件 291
11.5.2 窗口小部件 292
11.5.3 实用工具 302
11.6 特效 302
11.6.1 effect()方法 302
11.6.2 使用animate()进行颜色动画 303
11.7 基于jQuery UI的完整网站 303
11.8 小结 307
第12章 插件 308
12.1 jQuery 插件页面 308
12.1.1 搜索和使用现有插件 308
12.1.2 验证插件 311
12.2 创建自定义插件 317
12.2.1 为什么创建自定义插件 317
12.2.2 创建你的第一个插件 317
12.2.3 创建简单插件的主要原则 320
12.2.4 创建较为复杂的插件的原则 321
12.2.5 带有选项的插件示例1 322
12.2.6 带有选项的插件示例2 323
12.3 发布插件 325
12.4 小结 326
第13章 jQuery Mobile 327
13.1 基础知识 327
13.1.1 平台 328
13.1.2 下载和集成框架 330
13.1.3 替代方案 330
13.2 角色系统和data-role 331
13.3 移动网页的基本结构 332
13.4 链接页面 334
13.4.1 通过Hijax实现外部链接 334
13.4.2 内部链接和页面特殊解释 334
13.5 过渡 336
13.6 对话框 337
13.7 按钮 338
13.7.1 具有图标的按钮 338
13.7.2 块元素或者行内元素 339
13.7.3 分组 339
13.7.4 实用示例 340
13.8 工具栏和导航栏 343
13.9 列表 346
13.10 表单元素 350
13.10.1 字段容器 350
13.10.2 各种不同的表单元素 350
13.10.3 表单元素的插件方法 353
13.10.4 发送表单数据 354
13.11 特殊事件 354
13.11.1 触摸事件 354
13.11.2 方向变化 354
13.11.3 滚动事件 354
13.11.4 页面事件 355
13.12 主题框架和通用内容设计 356
13.13 收起和展开内容 358
13.14 小结 360
附录 361