第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
日期组件 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()(加上toggle0) 225
9.5用animate()实现单独动画 227
9.6小结 232
第10章 AJAX 233
10.1AJAX和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.1jQuery插件页面 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