第一部分 jQuery入门 1
第1章 jQuery介绍 3
1.1 写得少,做得多 4
1.2 低调的JavaScript 5
1.3 安装jQuery 7
1.4 jQuery结构 11
1.5 jQuery本质 13
1.6 总结 17
第二部分 jQuery核心 19
第2章 选择元素 21
2.1 选择操作元素 21
2.2 基本选择器 23
2.3 根据层级查找元素 28
2.4 通过属性来选择元素 30
2.5 过滤器介绍 33
2.6 使用上下文增强性能 43
2.7 技能测试 45
2.8 总结 46
第3章 操作jQuery集合 47
3.1 创建新HTML元素 47
3.2 管理jQuery集合 50
3.3 总结 70
第4章 使用特性、属性和数据 71
4.1 定义元素特性和属性 71
4.2 使用属性 74
4.3 操作元素特性 79
4.4 元素中存储自定义数据 82
4.5 总结 89
第5章 使用jQuery操作页面 90
5.1 修改元素的样式 90
5.2 设置元素内容 103
5.3 处理表单元素的值 119
5.4 总结 121
第6章 事件本质 122
6.1 理解浏览器事件模型 123
6.2 jQuery事件模型 135
6.3 总结 154
第7章 DVD光盘定位器 156
7.1 让事件开始工作 156
7.2 总结 170
第8章 使用动画与特效 171
8.1 显示和隐藏元素 172
8.2 动画元素的显示状态 175
8.3 为jQuery添加更多easing函数 185
8.4 创建自定义动画 188
8.5 动画与排队 192
8.6 总结 201
第9章 jQuery工具函数操作DOM 203
9.1 使用jQuery属性 204
9.2 通过jQuery使用其他库 207
9.3 操作JavaScript对象和集合 210
9.4 其他工具函数 229
9.5 总结 234
第10章 使用Ajax与服务器交互 236
10.1 复习Ajax 236
10.2 加载内容到元素中 241
10.3 发送GET和POST请求 249
10.4 完全控制Ajax请求 261
10.5 总结 270
第11章 demo:Ajax驱动的联系方式表单 272
11.1 项目功能 272
11.2 创建页面标签 274
11.3 实现PHP后台 276
11.4 使用Ajax验证字段 277
11.5 Ajax更多乐趣 279
11.6 使用动画特效改善用户体验 281
11.7 注意访问性 282
11.8 总结 283
第三部分 高级主题 285
第12章 jQuery扩展插件 287
12.1 为什么扩展jQuery 287
12.2 在哪里查找插件 288
12.3 jQuery插件编写指南 292
12.4 演示:创建jQuery幻灯片插件 306
12.5 编写自定义工具函数 316
12.6 总结 321
第13章 使用Deferred避免回调地狱 322
13.1 promise介绍 322
13.2 Deferred与Promise对象 326
13.3 Deferred方法 326
13.4 promise化一切 344
13.5 总结 345
第14章 使用QUnit进行单元测试 347
14.1 为什么测试很重要 347
14.2 QUnit入门 350
14.3 创建同步测试 353
14.4 使用断言测试代码 355
14.5 如何测试异步任务 361
14.6 noglobals与notrycatch 363
14.7 模块分组测试 365
14.8 配置QUnit 366
14.9 测试套件的例子 367
14.10 总结 371
第15章 jQuery大型项目开发 373
15.1 改进选择器性能 374
15.2 使用模块组织代码 378
15.3 使用RequireJS加载模块 381
15.4 使用Bower管理依赖 385
15.5 使用Backbone.js创建单页应用 389
15.6 总结 403
15.7 结尾 404
附录A JavaScript高级编程必备知识 405
A.1 JavaScript对象基础 405
A.2 一等公民函数 410
A.3 总结 419
索引 421