《jQuery基礎教程(第4版)》是2013年人民郵電出版社出版的圖書,作者是美JonathanChaffer,美KarlSwedberg。
基本介紹
- 作者:美 Jonathan Chaffer / 美 Karl Swedberg
- 譯者:李松峰
- ISBN:9787115330550
- 頁數:336
- 定價:59.00
- 出版社:人民郵電出版社
- 出版時間:2013-10
- 裝幀:平裝
- 原作名:Learning jQuery,fourth edition
內容介紹,作者介紹,作品目錄,
內容介紹
本書由jQuery API網站維護者親自撰寫,第一版自2008上市以來,一版再版,累計重印14次,是國內首屈一指的jQuery經典著作!
作為最新升級版,本書涵蓋jQuery 1.10.x和jQuery 2.0.x。本書前6章以通俗易懂的方式講解了jQuery的核心組件,包括jQuery的選擇符、事件、動畫、DOM操作、Ajax支持等。第7章和第8章介紹了jQuery UI、jQuery Mobile及利用jQuery強大的擴展能力開發自定義外掛程式。隨後的幾章更加深入地探討了jQuery的各種特性及一些高級技術。附錄A特別講解了JavaScript中閉包的概念,以及如何在jQuery中有效地使用閉包。附錄B講解了使用QUnit測試JavaScript代碼的必備知識。附錄C給出了jQuery API的快速參考。
作者介紹
Jonathan Chaffer
資深Web專家,著名jQuery資源網站LearningjQuery.com創始人。他還是著名的開源Drupal CMS項目的核心開發人員,開發了廣受歡迎的Content Construction Kit模組並大幅修改了選單系統。
Karl Swedberg
資深Web程式設計師,就職於Fusionary Media。著名jQuery資源網站LearningjQuery.com創始人。
作品目錄
目 錄
第1章 jQuery入門 1
1.1 jQuery能做什麼 1
1.2 jQuery為什麼如此出色 2
1.3 第一個jQuery驅動的頁面 3
1.3.1 下載jQuery 4
1.3.2 本書使用jQuery的哪個版本 4
1.3.3 在HTML文檔中引入jQuery 4
1.3.4 編寫jQuery代碼 7
1.3.5 最終結果 9
1.4 純JavaScript與jQuery 9
1.5 使用開發工具 10
1.6 小結 13
第2章 選擇元素 14
2.1 理解DOM 14
2.2 使用$()函式 15
2.3 CSS選擇符 16
2.4 屬性選擇符 19
2.5 自定義選擇符 21
2.5.1 每隔一行為表格添加樣式 22
2.5.2 基於上下文內容選擇元素 25
2.5.3 基於表單的選擇符 26
2.6 DOM遍歷方法 27
2.6.1 為特定單元格添加樣式 28
2.6.2 連綴 30
2.7 訪問DOM元素 31
2.8 小結 32
2.9 練習 32
第3章 事件 33
3.1 在頁面載入後執行任務 33
3.1.1 代碼執行的時機選擇 33
3.1.2 基於一個頁面執行多個腳本 34
3.1.3 .ready()的簡寫形式 35
3.1.4 向.ready()回調函式中傳入參數 36
3.2 處理簡單的事件 36
3.2.1 簡單的樣式轉換器 36
3.2.2 啟用其他按鈕 39
3.2.3 利用事件處理程式的上下文 40
3.2.4 使用事件上下文進一步減少代碼 41
3.2.5 簡寫的事件 43
3.2.6 顯示和隱藏高級特性 43
3.3 事件傳播 45
3.3.1 事件的旅程 46
3.3.2 事件冒泡的副作用 47
3.4 通過事件對象改變事件的旅程 48
3.4.1 事件目標 49
3.4.2 停止事件傳播 49
3.4.3 阻止默認操作 50
3.4.4 事件委託 50
3.4.5 使用內置的事件委託功能 53
3.5 移除事件處理程式 53
3.5.1 為事件處理程式添加命名空間 54
3.5.2 重新綁定事件 54
3.6 模仿用戶操作 56
3.7 小結 59
3.8 練習 60
第4章 樣式與動畫 61
4.1 修改內聯CSS 61
4.1.1 設定計算的樣式屬性值 63
4.1.2 帶廠商前綴的樣式屬性 65
4.2 隱藏和顯示元素 66
4.3 效果和時長 68
4.3.1 指定顯示速度 68
4.3.2 淡入和淡出 69
4.3.3 滑上和滑下 70
4.3.4 切換可見性 71
4.4 創建自定義動畫 72
4.4.1 手工創建效果 73
4.4.2 一次給多個屬性添加動畫效果 73
4.5 並發與排隊效果 76
4.5.1 處理一組元素 77
4.5.2 處理多組元素 80
4.5.3 簡單概括 83
4.6 小結 84
4.7 練習 84
第5章 操作DOM 85
5.1 操作屬性 85
5.1.1 非類屬性 85
5.1.2 DOM元素屬性 89
5.1.3 表單控制項的值 90
5.2 DOM樹操作 90
5.2.1 重新認識$()函式 90
5.2.2 創建新元素 91
5.2.3 插入新元素 91
5.2.4 移動元素 92
5.2.5 包裝元素 94
5.2.6 使用反向插入方法 96
5.3 複製元素 99
5.4 內容setter和getter方法 101
5.5 DOM操作方法的簡單歸納 103
5.6 小結 104
5.7 練習 104
第6章 通過Ajax傳送數據 106
6.1 基於請求載入數據 106
6.1.1 追加HTML 107
6.1.2 操作JavaScript對象 110
6.1.3 載入XML文檔 115
6.2 選擇數據格式 118
6.3 向伺服器傳遞數據 119
6.3.1 執行GET請求 120
6.3.2 執行POST請求 123
6.3.3 序列化表單 124
6.4 為Ajax請求提供不同的內容 126
6.5 關注請求 127
6.6 錯誤處理 129
6.7 Ajax和事件 131
6.8 安全限制 132
6.9 其他工具 134
6.9.1 低級Ajax方法 134
6.9.2 修改默認選項 135
6.9.3 部分載入HTML頁面 135
6.10 小結 138
6.11 練習 138
第7章 使用外掛程式 139
7.1 查找外掛程式和幫助 139
7.2 使用外掛程式 139
7.2.1 下載並包含Cycle外掛程式 140
7.2.2 調用外掛程式提供的方法 140
7.2.3 為外掛程式方法指定參數 142
7.2.4 修改參數默認值 142
7.3 其他形式的外掛程式 143
7.3.1 自定義選擇符 143
7.3.2 全局函式外掛程式 144
7.4 jQuery UI外掛程式庫 145
7.4.1 效果 145
7.4.2 互動組件 148
7.4.3 部件 149
7.4.4 jQuery UI主題捲軸 151
7.5 jQuery Mobile外掛程式庫 152
7.5.1 HTML5自定義數據屬性 152
7.5.2 移動導航 153
7.5.3 一個文檔支持多個頁面 157
7.5.4 互動式元素 158
7.5.5 高級功能 161
7.6 小結 161
7.7 練習 161
第8章 開發外掛程式 163
8.1 在外掛程式中使用$別名 163
8.2 添加新的全局函式 163
8.3 添加jQuery對象方法 169
8.3.1 對象方法的上下文 169
8.3.2 隱式疊代 170
8.3.3 方法連綴 171
8.4 提供靈活的方法參數 172
8.4.1 參數對象 173
8.4.2 默認參數值 174
8.4.3 回調函式 175
8.4.4 可定製的默認值 176
8.5 使用jQuery UI部件工廠創建外掛程式 177
8.5.1 創建部件 178
8.5.2 銷毀部件 180
8.5.3 啟用和禁用部件 181
8.5.4 接受部件選項 182
8.5.5 添加子方法 183
8.5.6 觸發部件事件 183
8.6 外掛程式設計建議 184
8.7 小結 185
8.8 練習 185
第9章 高級選擇符與遍歷 187
9.1 深入選擇與遍歷 187
9.1.1 動態篩選表格內容 189
9.1.2 為表格行添加條紋效果 191
9.1.3 組合篩選與條紋 192
9.1.4 更多選擇符與遍歷方法 193
9.2 定製與最佳化選擇符 194
9.2.1 編寫定製的選擇符外掛程式 194
9.2.2 選擇符的性能問題 196
9.3 DOM遍歷背後的秘密 199
9.3.1 jQuery對象屬性 199
9.3.2 DOM元素棧 201
9.3.3 編寫DOM遍歷方法外掛程式 201
9.3.4 DOM遍歷的性能問題 203
9.4 小結 205
9.5 練習 205
第10章 高級事件處理 206
10.1 再談事件 206
10.1.1 追加數據頁面 208
10.1.2 懸停時顯示數據 209
10.2 事件委託 210
10.2.1 使用jQuery的委託方法 211
10.2.2 選擇委託的作用域 212
10.2.3 早委託 212
10.3 自定義事件 213
10.3.1 無窮滾動 215
10.3.2 自定義事件參數 216
10.4 節流事件 217
10.5 擴展事件 219
10.6 小結 222
10.7 練習 222
第11章 高級效果 223
11.1 再談動畫 223
11.2 觀測及中斷動畫 225
11.2.1 確定動畫狀態 226
11.2.2 中止運行的動畫 226
11.3 全局效果屬性 227
11.3.1 禁用所有效果 228
11.3.2 定義效果時長 228
11.4 多屬性緩動 230
11.5 使用延遲對象 231
11.6 精細地控制動畫 234
11.7 小結 236
11.8 練習 236
第12章 高級DOM操作 237
12.1 排序表格行 237
12.1.1 伺服器端排序 237
12.1.2 Ajax排序 238
12.1.3 JavaScript排序 238
12.2 移動和插入元素 240
12.2.1 為已有的文本添加連結 240
12.2.2 簡單的JavaScript數組排序 241
12.2.3 對DOM元素排序 241
12.3 在DOM元素中保存數據 243
12.3.1 執行預先計算 244
12.3.2 存儲非字元串數據 245
12.3.3 變換排序方向 247
12.4 使用HTML5自定義數據屬性 249
12.5 使用JSON排序和構建行 250
12.5.1 修改JSON對象 252
12.5.2 按需重新構建內容 253
12.6 高級屬性操作 254
12.6.1 簡捷地創建元素 254
12.6.2 DOM創建掛鈎 255
12.7 小結 257
12.8 練習 258
第13章 高級Ajax 259
13.1 漸進增強與Ajax 259
13.2 處理Ajax錯誤 264
13.3 jqXHR對象 265
13.3.1 Ajax承諾 266
13.3.2 快取回響 267
13.4 截流Ajax請求 268
13.5 擴展Ajax功能 269
13.5.1 數據類型轉換器 269
13.5.2 Ajax預過濾器 274
13.5.3 替代傳輸方式 274
13.6 小結 277
13.7 練習 278
附錄A JavaScript閉包 279
A.1 創建內部函式 279
A.1.1 在任何地方調用內部函式 280
A.1.2 理解變數作用域 281
A.2 處理閉包之間的互動 283
A.3 在jQuery中創建閉包 284
A.3.1 $(document).ready()
的參數 284
A.3.2 綁定事件處理程式 285
A.3.3 在循環中綁定處理程式 286
A.3.4 命名及匿名函式 288
A.4 應對記憶體泄漏的風險 289
A.4.1 避免意外的引用循環 290
A.4.2 控制DOM與JavaScript的循環 290
A.5 小結 292
附錄B 使用QUnit測試JavaScript 293
B.1 下載QUnit 293
B.2 設定文檔 293
B.3 組織測試 294
B.4 添加和運行測試 295
B.5 其他測試類型 299
B.6 最佳實踐 299
B.7 小結 300
附錄C 簡明參考 301
C.1 選擇符表達式 301
C.1.1 簡單的CSS選擇符 301
C.1.2 在同輩元素間定位 301
C.1.3 在匹配的元素間定位 302
C.1.4 屬性 302
C.1.5 表單 303
C.1.6 其他自定義選擇符 303
C.2 DOM遍歷方法 304
C.2.1 篩選元素 304
C.2.2 後代元素 304
C.2.3 同輩元素 304
C.2.4 祖先元素 305
C.2.5 集合操作 305
C.2.6 操作選中的元素 306
C.3 事件方法 306
C.3.1 綁定 306
C.3.2 簡寫綁定 307
C.3.3 觸發事件 307
C.3.4 簡寫觸發方法 308
C.3.5 實用方法 308
C.4 效果方法 308
C.4.1 預定義效果 308
C.4.2 自定義動畫 309
C.4.3 佇列操作 309
C.5 DOM操作方法 309
C.5.1 特性與屬性 310
C.5.2 內容 310
C.5.3 CSS 310
C.5.4 尺寸 311
C.5.5 插入 311
C.5.6 替換 312
C.5.7 刪除 312
C.5.8 複製 312
C.5.9 數據 312
C.6 Ajax方法 312
C.6.1 傳送請求 313
C.6.2 監視請求 313
C.6.3 配置 313
C.6.4 實用方法 314
C.7 延遲方法 314
C.7.1 創建對象 314
C.7.2 延遲對象的方法 314
C.7.3 承諾對象的方法 315
C.8 其他方法 315
C.8.1 jQuery對象的屬性 315
C.8.2 數組和對象 315
C.8.3 對象內省 316
C.8.4 其他 316
第1章 jQuery入門 1
1.1 jQuery能做什麼 1
1.2 jQuery為什麼如此出色 2
1.3 第一個jQuery驅動的頁面 3
1.3.1 下載jQuery 4
1.3.2 本書使用jQuery的哪個版本 4
1.3.3 在HTML文檔中引入jQuery 4
1.3.4 編寫jQuery代碼 7
1.3.5 最終結果 9
1.4 純JavaScript與jQuery 9
1.5 使用開發工具 10
1.6 小結 13
第2章 選擇元素 14
2.1 理解DOM 14
2.2 使用$()函式 15
2.3 CSS選擇符 16
2.4 屬性選擇符 19
2.5 自定義選擇符 21
2.5.1 每隔一行為表格添加樣式 22
2.5.2 基於上下文內容選擇元素 25
2.5.3 基於表單的選擇符 26
2.6 DOM遍歷方法 27
2.6.1 為特定單元格添加樣式 28
2.6.2 連綴 30
2.7 訪問DOM元素 31
2.8 小結 32
2.9 練習 32
第3章 事件 33
3.1 在頁面載入後執行任務 33
3.1.1 代碼執行的時機選擇 33
3.1.2 基於一個頁面執行多個腳本 34
3.1.3 .ready()的簡寫形式 35
3.1.4 向.ready()回調函式中傳入參數 36
3.2 處理簡單的事件 36
3.2.1 簡單的樣式轉換器 36
3.2.2 啟用其他按鈕 39
3.2.3 利用事件處理程式的上下文 40
3.2.4 使用事件上下文進一步減少代碼 41
3.2.5 簡寫的事件 43
3.2.6 顯示和隱藏高級特性 43
3.3 事件傳播 45
3.3.1 事件的旅程 46
3.3.2 事件冒泡的副作用 47
3.4 通過事件對象改變事件的旅程 48
3.4.1 事件目標 49
3.4.2 停止事件傳播 49
3.4.3 阻止默認操作 50
3.4.4 事件委託 50
3.4.5 使用內置的事件委託功能 53
3.5 移除事件處理程式 53
3.5.1 為事件處理程式添加命名空間 54
3.5.2 重新綁定事件 54
3.6 模仿用戶操作 56
3.7 小結 59
3.8 練習 60
第4章 樣式與動畫 61
4.1 修改內聯CSS 61
4.1.1 設定計算的樣式屬性值 63
4.1.2 帶廠商前綴的樣式屬性 65
4.2 隱藏和顯示元素 66
4.3 效果和時長 68
4.3.1 指定顯示速度 68
4.3.2 淡入和淡出 69
4.3.3 滑上和滑下 70
4.3.4 切換可見性 71
4.4 創建自定義動畫 72
4.4.1 手工創建效果 73
4.4.2 一次給多個屬性添加動畫效果 73
4.5 並發與排隊效果 76
4.5.1 處理一組元素 77
4.5.2 處理多組元素 80
4.5.3 簡單概括 83
4.6 小結 84
4.7 練習 84
第5章 操作DOM 85
5.1 操作屬性 85
5.1.1 非類屬性 85
5.1.2 DOM元素屬性 89
5.1.3 表單控制項的值 90
5.2 DOM樹操作 90
5.2.1 重新認識$()函式 90
5.2.2 創建新元素 91
5.2.3 插入新元素 91
5.2.4 移動元素 92
5.2.5 包裝元素 94
5.2.6 使用反向插入方法 96
5.3 複製元素 99
5.4 內容setter和getter方法 101
5.5 DOM操作方法的簡單歸納 103
5.6 小結 104
5.7 練習 104
第6章 通過Ajax傳送數據 106
6.1 基於請求載入數據 106
6.1.1 追加HTML 107
6.1.2 操作JavaScript對象 110
6.1.3 載入XML文檔 115
6.2 選擇數據格式 118
6.3 向伺服器傳遞數據 119
6.3.1 執行GET請求 120
6.3.2 執行POST請求 123
6.3.3 序列化表單 124
6.4 為Ajax請求提供不同的內容 126
6.5 關注請求 127
6.6 錯誤處理 129
6.7 Ajax和事件 131
6.8 安全限制 132
6.9 其他工具 134
6.9.1 低級Ajax方法 134
6.9.2 修改默認選項 135
6.9.3 部分載入HTML頁面 135
6.10 小結 138
6.11 練習 138
第7章 使用外掛程式 139
7.1 查找外掛程式和幫助 139
7.2 使用外掛程式 139
7.2.1 下載並包含Cycle外掛程式 140
7.2.2 調用外掛程式提供的方法 140
7.2.3 為外掛程式方法指定參數 142
7.2.4 修改參數默認值 142
7.3 其他形式的外掛程式 143
7.3.1 自定義選擇符 143
7.3.2 全局函式外掛程式 144
7.4 jQuery UI外掛程式庫 145
7.4.1 效果 145
7.4.2 互動組件 148
7.4.3 部件 149
7.4.4 jQuery UI主題捲軸 151
7.5 jQuery Mobile外掛程式庫 152
7.5.1 HTML5自定義數據屬性 152
7.5.2 移動導航 153
7.5.3 一個文檔支持多個頁面 157
7.5.4 互動式元素 158
7.5.5 高級功能 161
7.6 小結 161
7.7 練習 161
第8章 開發外掛程式 163
8.1 在外掛程式中使用$別名 163
8.2 添加新的全局函式 163
8.3 添加jQuery對象方法 169
8.3.1 對象方法的上下文 169
8.3.2 隱式疊代 170
8.3.3 方法連綴 171
8.4 提供靈活的方法參數 172
8.4.1 參數對象 173
8.4.2 默認參數值 174
8.4.3 回調函式 175
8.4.4 可定製的默認值 176
8.5 使用jQuery UI部件工廠創建外掛程式 177
8.5.1 創建部件 178
8.5.2 銷毀部件 180
8.5.3 啟用和禁用部件 181
8.5.4 接受部件選項 182
8.5.5 添加子方法 183
8.5.6 觸發部件事件 183
8.6 外掛程式設計建議 184
8.7 小結 185
8.8 練習 185
第9章 高級選擇符與遍歷 187
9.1 深入選擇與遍歷 187
9.1.1 動態篩選表格內容 189
9.1.2 為表格行添加條紋效果 191
9.1.3 組合篩選與條紋 192
9.1.4 更多選擇符與遍歷方法 193
9.2 定製與最佳化選擇符 194
9.2.1 編寫定製的選擇符外掛程式 194
9.2.2 選擇符的性能問題 196
9.3 DOM遍歷背後的秘密 199
9.3.1 jQuery對象屬性 199
9.3.2 DOM元素棧 201
9.3.3 編寫DOM遍歷方法外掛程式 201
9.3.4 DOM遍歷的性能問題 203
9.4 小結 205
9.5 練習 205
第10章 高級事件處理 206
10.1 再談事件 206
10.1.1 追加數據頁面 208
10.1.2 懸停時顯示數據 209
10.2 事件委託 210
10.2.1 使用jQuery的委託方法 211
10.2.2 選擇委託的作用域 212
10.2.3 早委託 212
10.3 自定義事件 213
10.3.1 無窮滾動 215
10.3.2 自定義事件參數 216
10.4 節流事件 217
10.5 擴展事件 219
10.6 小結 222
10.7 練習 222
第11章 高級效果 223
11.1 再談動畫 223
11.2 觀測及中斷動畫 225
11.2.1 確定動畫狀態 226
11.2.2 中止運行的動畫 226
11.3 全局效果屬性 227
11.3.1 禁用所有效果 228
11.3.2 定義效果時長 228
11.4 多屬性緩動 230
11.5 使用延遲對象 231
11.6 精細地控制動畫 234
11.7 小結 236
11.8 練習 236
第12章 高級DOM操作 237
12.1 排序表格行 237
12.1.1 伺服器端排序 237
12.1.2 Ajax排序 238
12.1.3 JavaScript排序 238
12.2 移動和插入元素 240
12.2.1 為已有的文本添加連結 240
12.2.2 簡單的JavaScript數組排序 241
12.2.3 對DOM元素排序 241
12.3 在DOM元素中保存數據 243
12.3.1 執行預先計算 244
12.3.2 存儲非字元串數據 245
12.3.3 變換排序方向 247
12.4 使用HTML5自定義數據屬性 249
12.5 使用JSON排序和構建行 250
12.5.1 修改JSON對象 252
12.5.2 按需重新構建內容 253
12.6 高級屬性操作 254
12.6.1 簡捷地創建元素 254
12.6.2 DOM創建掛鈎 255
12.7 小結 257
12.8 練習 258
第13章 高級Ajax 259
13.1 漸進增強與Ajax 259
13.2 處理Ajax錯誤 264
13.3 jqXHR對象 265
13.3.1 Ajax承諾 266
13.3.2 快取回響 267
13.4 截流Ajax請求 268
13.5 擴展Ajax功能 269
13.5.1 數據類型轉換器 269
13.5.2 Ajax預過濾器 274
13.5.3 替代傳輸方式 274
13.6 小結 277
13.7 練習 278
附錄A JavaScript閉包 279
A.1 創建內部函式 279
A.1.1 在任何地方調用內部函式 280
A.1.2 理解變數作用域 281
A.2 處理閉包之間的互動 283
A.3 在jQuery中創建閉包 284
A.3.1 $(document).ready()
的參數 284
A.3.2 綁定事件處理程式 285
A.3.3 在循環中綁定處理程式 286
A.3.4 命名及匿名函式 288
A.4 應對記憶體泄漏的風險 289
A.4.1 避免意外的引用循環 290
A.4.2 控制DOM與JavaScript的循環 290
A.5 小結 292
附錄B 使用QUnit測試JavaScript 293
B.1 下載QUnit 293
B.2 設定文檔 293
B.3 組織測試 294
B.4 添加和運行測試 295
B.5 其他測試類型 299
B.6 最佳實踐 299
B.7 小結 300
附錄C 簡明參考 301
C.1 選擇符表達式 301
C.1.1 簡單的CSS選擇符 301
C.1.2 在同輩元素間定位 301
C.1.3 在匹配的元素間定位 302
C.1.4 屬性 302
C.1.5 表單 303
C.1.6 其他自定義選擇符 303
C.2 DOM遍歷方法 304
C.2.1 篩選元素 304
C.2.2 後代元素 304
C.2.3 同輩元素 304
C.2.4 祖先元素 305
C.2.5 集合操作 305
C.2.6 操作選中的元素 306
C.3 事件方法 306
C.3.1 綁定 306
C.3.2 簡寫綁定 307
C.3.3 觸發事件 307
C.3.4 簡寫觸發方法 308
C.3.5 實用方法 308
C.4 效果方法 308
C.4.1 預定義效果 308
C.4.2 自定義動畫 309
C.4.3 佇列操作 309
C.5 DOM操作方法 309
C.5.1 特性與屬性 310
C.5.2 內容 310
C.5.3 CSS 310
C.5.4 尺寸 311
C.5.5 插入 311
C.5.6 替換 312
C.5.7 刪除 312
C.5.8 複製 312
C.5.9 數據 312
C.6 Ajax方法 312
C.6.1 傳送請求 313
C.6.2 監視請求 313
C.6.3 配置 313
C.6.4 實用方法 314
C.7 延遲方法 314
C.7.1 創建對象 314
C.7.2 延遲對象的方法 314
C.7.3 承諾對象的方法 315
C.8 其他方法 315
C.8.1 jQuery對象的屬性 315
C.8.2 數組和對象 315
C.8.3 對象內省 316
C.8.4 其他 316