第1章jQuery基础 1
1.1在HTML页面中包含jQuery程序库代码 9
1.2在DOM加载之后、整个页面加载之前执行jQuery/JavaScript代码 10
1.3用选择器和jQuery函数选择DOM元素 13
1.4在指定上下文中选择DOM元素 15
1.5过滤DOM元素包装器集 16
1.6查找当前选择包装器集中的后代元素 17
1.7返回破坏性修改之前的选择 19
1.8将前一个选择集包含到当前选择集 20
1.9根据当前上下文遍历DOM获得新的DOM元素集 21
1.10创建、操作和插入DOM元素 22
1.11删除DOM元素 24
1.12替换DOM元素 25
1.13克隆DOM元素 26
1.14获取、设置和删除DOM元素属性 29
1.15 获取和设置HTML内容 30
1.16获取和设置文本内容 31
1.17在不造成全局冲突的情况下使用$别名 32
第2章用jQuery选择元素 33
2.1仅选择子元素 34
2.2选择特定的兄弟元素 35
2.3按照索引顺序选择元素 37
2.4选择当前动画元素 39
2.5根据包含的内容选择元素 40
2.6选择不匹配的元素 41
2.7根据可见性选择元素 42
2.8根据属性选择元素 43
2.9按照类型选择表单元素 44
2.10选择有具体特性的元素 45
2.11使用上下文参数 47
2.12创建一个子定义过滤器选择器 48
第3章 超越基础 51
3.1循环读取选择结果集合 51
3.2将选择集缩减为某个特定项 54
3.3将选中的j Query对象转换为原始DOM对象 57
3.4获得选择集中某个元素的索引 59
3.5从现有数组中建立独特的数组 61
3.6在选择集合的子集上执行某项操作 63
3.7配置j Query,避免与其他程序库冲突 66
3.8用插件增加功能 68
3.9确定使用的到底是哪一个查询 71
第4章jQuery工具 73
4.1用j Query.suppoert检测功能 73
4.2用jQuery.each循环读取数组和对象 75
4.3用j Query.grep过滤数组 76
4.4用j Query.map循环修改数组元素 77
4.5用j Query.merge合并两个数组 78
4.6用jQuery.unique过滤重复的数组元素 78
4.7用jQuery.isFunction测试回调函数 79
4.8用jQuery.trim从字符串或者表单值中删除空格 80
4.9用j Query.data将对象和数据附加到DOM中 80
4.10用jQuery.extend扩展对象 82
第5章 更快、更简单、更有趣 84
5.1这不是j Query,而是JavaScript 84
5.2$(this)出了什么问题 85
5.3删除多余的重复 88
5.4格式化j Query链 89
5.5从其他程序库借用代码 91
5.6 编写自定义迭代器 93
5.7切换属性 96
5.8寻找瓶颈 98
5.9缓存j Query对象 102
5.10编写更快的选择器 104
5.11更快地加载表格 106
5.12编写基本的循环代码 109
5.13减少名称查找 112
5.14用.innerHTML更快地更新DOM 114
5.15 分解方法链 115
5.16这是jQuery的缺陷吗 117
5.17跟踪jQuery 118
5.18减少服务器请求的数量 120
5.19编写无干扰式的JavaScript 123
5.20将jQuery用于渐进增强 126
5.21使页面易于访问 127
第6章 尺寸 132
6.1求取窗口和文档的尺寸 132
6.2求取元素的尺寸 133
6.3求取元素的偏移量 135
6.4滚动元素使其可见 138
6.5确定元素是否在视区内 140
6.6将元素放在视区的中央 143
6.7在当前位置绝对定位一个元素 144
6.8按照与另一个元素的相对位置定位元素 145
6.9根据浏览器宽度切换样式表 146
第7章 特效 149
7.1滑动和淡入/淡出元素 151
7.2通过向上滑动使元素可见 154
7.3创建水平折叠特效 155
7.4同时滑动和淡入/淡出元素 159
7.5应用连续的特效 160
7.6确定元素目前是否处于动画中 162
7.7停止和复位动画 163
7.8为特效使用自定义的缓动方法 164
7.9禁用所有特效 165
7.10将j Query UI用于高级特效 166
第8章 事件 168
8.1将一个事件处理程序用于许多事件 169
8.2对不同的数据重用处理程序函数 170
8.3删除整组事件处理程序 172
8.4触发特定事件处理程序 173
8.5向事件处理程序传递动态数据 174
8.6尽早访问元素(在document.ready之前) 176
8.7停止处理程序执行循环 179
8.8在使用event.target时获取正确的元素 181
8.9避免多个hover()动画并行显示 182
8.10使事件处理程序适用于新添加的元素 185
第9章 高级事件 188
9.1在动态加载时运行j Query 188
9.2加速全局事件触发 189
9.3创建自己的事件 192
9.4让事件处理程序提供需要的数据 195
9.5创建事件驱动插件 198
9.6在调用j Query方法时得到通知 202
9.7将对象方法作为事件监听器使用 205
第10章 从头开始增强HTML表单 208
10.1在页面加载时将焦点放在一个文本输入字段上 209
10.2禁用和启用表单元素 210
10.3自动选择单选按钮 213
10.4用专用的链接选择(反选)所有复选框 215
10.5用一个切换开关选中(反选)所有复选框 216
10.6添加和删除Select元素中的选项 218
10.7根据字符计数自动跳到下一个控件 219
10.8显示剩余字符串计数 221
10.9限制文本输入字段内容为特定的字符 224
10.10用Ajax提交表单 225
10.11验证表单 227
第11章 用插件增强HTML表单 234
11.1验证表单 235
11.2创建固定格式的输入字段 244
11.3自动补全文本字段 246
11.4选择一个取值范围 247
11.5输入范围约束值 250
11.6在后台上传文件 253
11.7限制输入文本的长度 254
11.8在输入字段上方显示标签 255
11.9根据内容增大输入字段 257
1110选择日期 258
第12章jQuery插件 261
12.1从哪里寻找jQuery插件 261
12.2何时应该编写一个jQuery插件 263
12.3编写第一个jQuery插件 265
12.4向插件传递选项 266
12.5在插件中使用$快捷方式 268
12.6在插件中包含私有函数 269
12.7支持元数据插件 271
12.8为插件添加静态函数 272
12.9用Qunit对插件进行单元测试 274
第13章 从头开始创建界面组件 277
13.1创建自定义工具提示 278
13.2使用文件树扩展器导航 283
13.3展开折叠控件 286
13.4选择文档中的不同选项卡 291
13.5显示简单的模态窗口 294
13.6构建下拉菜单 300
13.7交叉消隐的循环图像 303
13.8滑动面板 308
第14章 使用jQuery UI构建用户界面 312
14.1包含整个jQuery UI套件 314
14.2包含单独的一两个j Query UI插件 315
14.3用默认选项初始化jQuery UI插件 316
14.4用自定义选项初始化j Query UI插件 317
14.5创建你自己的jQuery UI插件默认值 318
14.6获取和设置j Query UI插件选项 320
14.7调用j Query UI插件方法 320
14.8处理jQuery UI插件事件 321
14.9销毁jQuery UI插件 324
14.10创建jQuery音乐播放器 324
第15章jQuery UI主题 338
15.1用ThemeRoller设置jQuery UI窗口组件样式 342
15.2覆盖j Query UI布局和主题样式 354
15.3为非j Query UI组件应用主题 364
15.4在一个页面上引用多个主题 372
15.5附录:其他CSS资源 380
第16章jQuery、 Ajax、数据格式:HTML、 XML、 JSON、 JSONP 381
16.1 jQuery和Ajax 381
16.2在整个网站上使用Ajax 384
16.3使用带有用户反馈的简单Ajax 386
16.4使用Ajax快捷方法和数据类型 391
16.5使用HTML片段和jQuery 393
16.6将XML转换为DOM 394
16.7创建JSON 395
16.8解析JSON 396
16.9使用jQuery和JSONP 397
第17章 在大项目中使用jQuery 400
17.1使用客户端存储 400
17.2为单个会话保存应用程序状态 403
17.3在会话之间保存应用程序状态 404
17.4使用JavaScript模板引擎 406
17.5 Ajax请求队列 409
17.6处理Ajax和后退按钮 410
17.7将JavaScript放在页面的最后 412
第18章 单元测试 414
18.1自动化单元测试 414
18.2断言结果 416
18.3测试同步回调 417
18.4测试异步回调 418
18.5测试用户操作 419
18.6保持测试的原子性 420
18.7分组测试 422
18.8选择运行的测试 423
后记 425