VOOZH about

URL: https://read01.com/E55nja.html

⇱ 《JavaScript DOM 編程藝術》(第二版)讀書筆記 - 壹讀


Saturday, Apr 11, 2026

《JavaScript DOM 編程藝術》(第二版)讀書筆記

2015/02/24 來源:cnblogs

接下來正式進入DOM的學習

第三章 DOM

D代表document(文檔),O代表object(對象),M代表model(模型),簡單的說DOM把一份文檔表示成一顆「樹」(數學上的概念).

節點(node),它表示一個網絡的連接點。一個網絡就是由一些節點構成的集合。DOM也是同樣的情況,文檔是由節點構成的集合.

1.元素節點(element node)

<html>、<head>、<body>、<p>、<ul>等標籤的名字就是元素的名字,比如文本段落元素名字是「p」

2.文本節點(text node) 一般文本節點包含在元素節點裡面

3.屬性節點(attribute node) 屬性節點也包含在元素節點裡,比如最常見的class,id

每個節點都是一個對象

獲取元素的方法

1.document.getElementById

2.document.getElementsByTagName

3.document.getElementsByClassName

第一種方法比較簡單,第二種方法需要注意的是得到的結果是一個數組,第三個方法比較新,舊的瀏覽器版本沒有支持,但可以用原有的方法實現,代碼如下

functiongetElementsByClassName(node,classname){if(node.getElementsByClassName){//如果瀏覽器支持原生的方法,則直接用原生的方法returnnode.getElementsByClassName(classname); }else{varresults =newArray;varelems = node.getElementsByTagName("*");for(vari = 0; i < elems.length; i++){if(elems[i].className.indexOf(classname)!=-1){ results[results.length]=elems[i]; } }returnresults;

}


tips:indexOf方法可返回某個指定的字符串值在字符串中首次出現的位置。沒有則為-1。

獲取和設置屬性(兩者只能作用於元素節點)

1.getAttribute使用方法:object.getAttribute(attribute)

2.setAttribute使用方法:object.setAttribute(attribute,value)

第四章 案例研究:javascript圖片庫

1.setAttribute可以用其他方法代替,直接設置:element.value = "the new value",相當於element.setAttribute("value","the new value")

2.childNodes屬性

在一顆節點樹上,childNodes屬性可以用來獲取任何一個元素的所有子元素,它是一個包含這個元素全部子元素的數組.

由childNodes屬性返回元素所有類型的節點,不僅僅是元素節點。幾乎每一種東西都會成為一個節點,甚至空格和換行都會被解釋為節點。

3.nodetype屬性

可以用node.nodeType獲取節點的nodeType屬性

元素節點的nodetype屬性值是1,屬性節點的nodetype屬性值是2,文本節點的nodetype屬性值是3,注釋節點的nodetype屬性值是8,文檔節點的nodetype屬性值是9

4.nodevalue屬性

如果想改變一個文本節點的值,用nodeValue屬性,方法node.nodeValue

5.firstChildlastChild屬性

分別對應childNodes[0]和childNodes[childNodes.length-1]

第5章 最佳實踐

主要講了寫JS代碼的幾個需要重點注意的東西:

平穩退化、漸進增強、向後兼容、提高性能。

仔細閱讀,在平常做項目時運用。

您可能感興趣
免責聲明:本文內容來源于cnblogs,文章觀點不代表壹讀立場,如若侵犯到您的權益,或涉不實謠言,敬請向我們提出檢舉
最新文章 / 服務條款 / 私隱保護 / DMCA / 聯絡我們

壹讀/READ01.COM