發表於2024-12-22
海報:
通過《DOM啓濛》,讀者將學習如何通過文檔對象模型(DOM)更有效率地操作HTML,而無需DOM操作庫的幫助。作者CodyLindley(jQuery手冊)用菜譜風格的代碼示例,用演示多種節點對象的工作方式,帶你領略現代DOM理念。在過去的十年裏,框架簡化瞭DOM的用法,後者因此被開發者塵封在前者之下。本書通過現代瀏覽器原生的概念與代碼,將這些工具帶迴視綫。讀者將理解jQuery在DOM腳本編寫中扮演的角色,並學習如何在移動應
用和特定瀏覽器中直接使用DOM編寫應用程序。
陳養劍,男,畢業於浙江。大學軟件工程係,現就職於阿裏媽媽用戶體驗部門,擔任前端工程師有三年餘,負責創意及相關工具與服務開發。
“DouglasCrockford在他的《JavaScript語言精粹》一書中給過我們一張理解JavaScript語言內部工作機製的示意圖。現在CodyLindley給瞭我們一張對應文檔對象模型。”
——JeremyKeithClearleft.com創始人與技術總監,《DOM腳本編寫》作者
前言
序言
第1 章 節點概覽
11 文檔對象模型(Document Object Model,亦稱 DOM)是個由JavaScript
節點對象組成的層次結構/ 樹
12 節點對象類型
13 繼承自節點對象的子節點對象
14 用於與節點打交道的屬性與方法
15 識彆節點的類型與名稱
16 獲取節點的值
17 使用 JavaScript 方法來創建元素與文本節點
18 使用 JavaScript 字符串創建並嚮DOM 中添加元素與文本節點
19 提取DOM 樹中的部分作為JavaScript 字符串
110 使用 appendChild() 與 insertBefore() 嚮DOM 中插入節點對象
111 使用 removeChild() 與 replaceChild() 來移除與替換節點
112 使用 cloneNode() 來復製節點
113 理解節點集閤(即 NodeList 與 HTMLCollection)
114 獲取所有直屬子節點的列錶/ 集閤
115 將 NodeList 或者 HTMLCollection 轉換成JavaScript 數組
116 遍曆 DOM 中的節點
117 使用 contains() 與 compareDocumentPosition() 驗證節點在 DOM 樹中的
位置
118 判斷兩個節點是否相同
第2 章 文檔節點
21 文檔節點概覽
22 HTML 文檔屬性與方法(包括繼承的)
23 獲取 HTML Document 通用信息(標題、鏈接、提及者、最後修改時間
及兼容模式)
24 文檔子節點
25 document 提供的 <!DOCTYPE>、<html lang="en">、<head> 及 <body>
捷徑
26 使用 documentimplementationhasFeature() 探測 DOM 規範/ 特性
27 獲取文檔中當前聚焦/ 激活節點的引用
28 判斷文檔或者文檔中任何節點得到焦點
29 documentdefaultView 是個到頂部/ 全局對象的捷徑
210 使用 ownerDocument 從某一元素取得文檔的引用
第3 章 元素節點
31 HTML*Element 對象概覽
32 HTML*Element 對象屬性與方法(包括繼承的)
33 創建元素
34 獲取元素的標簽名
35 獲取元素屬性與值的列錶/ 集閤
36 獲取、設置及移除元素的屬性值
37 驗證元素是否有某一特定屬性
38 獲取類屬性值列錶
39 添加與移除類屬性中的部分值
310 變換某個類屬性值
311 判斷類屬性值是否含有某一特定值
312 獲取與設置 data-* 屬性
第4 章 元素節點選取
41 選取特定元素節點
42 選取/ 創建一個元素節點列錶(即 NodeList)
43 選取所有的直屬子元素節點
44 選取與上下文有關的元素
45 預定義的元素節點選取/ 列錶
46 使用 matchesSelector() 驗證元素會否被選取
第5 章 元素節點幾何量與滾動幾何量
51 元素節點尺寸、偏移及滾動概覽
52 獲取元素相對於 offsetParent 的 offsetTop 及 offsetLeft 值
53 使用 getBoundingClientRect() 獲取元素相對於視區的Top, Right, Bottom
及Left 邊沿偏移量
54 獲取元素在視區中的尺寸(邊框 + 填充 + 內容)
55 獲取元素在視區中的尺寸(填充 + 內容),不含邊框
56 使用 elementFromPoint() 獲取視區中某一特定點上最頂層的元素
57 使用 scrollHeight 及 scrollWidth 獲取滾動元素的尺寸
58 使用 scrollTop 及scrollLeft 獲取並設置從上、左邊滾動的距離
59 使用 scrollIntoView() 滾動元素到視區
第6 章 元素節點內聯樣式
61 樣式屬性(亦稱元素內聯 CSS 屬性)概覽
62 獲取、設置及移除單個內聯 CSS 屬性
63 獲取、設置及移除所有內聯 CSS 屬性
64 使用 getComputedStyle() 獲取元素的已計算樣式(即包含任何級聯樣式的
實際樣式)
65 使用 class 及 id 屬性應用或者移除元素上的 CSS 屬性
第7 章 文本節點
71 文本對象概覽
72 文本對象與屬性
73 空白符創建文本節點
74 創建與注入文本節點
75 使用 data 或 nodeValue 獲取文本節點值
76 使用appendData()、deleteData()、insertData()、replaceData() 及
subStringData() 操作文本節點
77 當有多個兄弟文本節點時
78 使用 textContent 移除文本標記並返迴所有的子文本節點
79 textContent 與 innerText 的區彆
710 使用 normalize() 閤並兄弟文本節點成單個文本節點
711 使用 splitText() 分割文本節點
第8 章 DocumentFragment 節點
81 DocumentFragment 對象概覽
82 使用 createDocumentFragment() 創建 DocumentFragment
83 添加 DocumentFragment 到實時 DOM
84 使用文檔片段上的 innerHTML
85 通過復製將片段所含節點保留在內存中
第9 章 CSS 樣式錶與 CSS 規則
91 CSS 樣式錶概覽
92 訪問 DOM 中所有樣式錶(即 CSSStyleSheet 對象)
93 CSSStyleSheet 屬性與方法
94 CSSStyleRule 概覽
95 CSSStyleRule 屬性與方法
96 使用 cssRules 獲取樣式錶內的 CSS 規則列錶
97 使用 insertRule() 和 deleteRule() 來插入與刪除樣式錶中的 CSS 規則
98 使用 style 屬性修改 CSSStyleRule 的值
99 創建新的內聯 CSS 樣式錶
91 0 以編程方式添加外部樣式錶到 HTML 文檔
91 1 用 disabled 屬性使樣式錶失效/ 生效
第10 章 DOM 中的 JavaScript
101 插入與執行 JavaScript 概覽
102 JavaScript 默認同步解析
103 使用 defer 推遲外部腳本的下載與執行
104 使用 async 異步下載並執行外部JavaScript 文件
105 使用動態 <script> 元素強製異步加載並解析外部 JavaScript
106 通過給異步 <script> 加 onload 迴調從而知道它們何時加載完畢
107 注意含有 DOM 操作的 <script> 的放置
108 獲取 DOM 中 <script> 列錶
第11 章 DOM 事件
111 DOM 事件概覽
112 DOM 事件類型
113 事件流程
114 添加事件監聽函數到Element 節點、window 對象及document 對象
115 移除事件監聽函數
116 從事件對象中獲取事件屬性
117 使用 addEventListener() 時監聽函數中 this 的值
118 事件調用時取得事件模闆而不是所綁定的節點或對象
119 使用 preventDefault() 撤銷瀏覽器默認事件
1110 使用 stopPropagation() 終止事件流程
1111 使用 stopImmediatePropagation() 終止事件流程與相同目標上的其他
事件
1112 自定義事件
1113 模擬/ 觸發鼠標事件
1114 事件委托
第12 章 創作domjs :源自jQuery 的靈感,服務於現代
瀏覽器,這是一個萬眾期待的DOM 庫
121 domjs 概覽
122 創建唯一作用域
123 創建 dom() 與 GetOrMakeDom(),全局暴露 dom() 與 GetOrMakeDom
prototype
124 創建傳給 dom() 的可選上下文參數
125 依據 params 産生一個持有 DOM 節點引用的對象並返迴
126 創建 each() 方法並使它可鏈式調用
127 創建 html()、append() 及 text() 方法
128 拉 domjs 齣來兜兜風
129 總結與 domjs 繼續
我創建網站。有時我也創作音樂。多年來,我在有些自認為是創作型的音樂傢那裏——經常是自學的——注意到一個有趣的行為模式:他們抵觸學習任何音樂理論。他們認為,從邏輯上來說,知曉音樂背後的理論會莫名限製他們的創作能力。我從來搞不懂這邏輯(並且我私下認為這是因鬆懈而找的藉口)。依我看,我不覺得任何知識或者啓濛會是壞事。
唉,我在Web設計領域也看到瞭類似的邏輯。有些設計師不僅不知道如何寫HTML與CSS,而且他們堅決拒絕學習。同樣的,他們害怕這些知識會在某種程度上限製自己(同樣的,我認為這是個自證的藉口)。
幸運的是這種態度在前端開發領域還不流行。大多數Web開發者明白學無止境,但就算是對HTML與CSS知識有百科全書般全麵認知的開發者,在涉及文檔對象模型(DocumentObjectModel)時仍會有知識差距。這情有可原。如果用瞭類似jQuery的庫,你不需要懂得DOM內部工作機製。JavaScript庫的意義就在於抽離開瀏覽器內部的API,並轉而提供一個不同的、更好的API。
盡管如此,我認為許多前端開發者覺得他們應該知道錶麵之下都發生瞭什麼。這是一個優秀極客遇到他們工作所需係統的自然反應。現在,感謝《DOM啓濛》,他們可以一解心頭之癢瞭。
道格拉斯?剋羅剋福德在他的書《JavaScript語言精粹》中給瞭我們理解JavaScript語言內部機製的圖譜。現在科迪?林得利也給瞭文檔對象模型的相應圖譜。以此圖譜為武裝,你就獲得瞭指引DOM通路與隧道所需的知識。
你或許不能在每個項目中都運用到這些知識,或許選擇改用諸如jQuery的類庫,但此時就任君抉擇瞭。與其因所知有限必須使用某個類庫,不如擁有是否以及何時使用jQuery的決定權。這是種大權在握的感覺,全憑所知所學提供,是真正的啓濛所指。
——傑裏米·基思,clearleft。com的創始人與技術監督
《JavaScriptDOM編程藝術》一書的作者
DOM啓濛 下載 mobi pdf epub txt 電子書 格式 2024
DOM啓濛 下載 mobi epub pdf 電子書正好給自己充電瞭,基礎的重要性
評分gooooooooooooooooooooooooooood
評分這書我覺得有點難 不過書比較薄 所以還是有信心看完。
評分收到瞭,看瞭收獲很大!
評分有一本係統化介紹DOM的書也是挺不錯的
評分內容非常好,為什麼打一星呢?請看圖。
評分質量可以 。
評分提高職業技能,學習新知識
評分不錯哦不錯哦不錯哦
DOM啓濛 mobi epub pdf txt 電子書 格式下載 2024