在 HTML DOM (文檔物件模型)中,每個部分都是節點。
節點是DOM結構中最基本的組成單元,每個HTML標籤都是DOM結構的節點。
文件是一個 文檔節點 。
所有的HTML元素都是 元素節點
所有 HTML 屬性都是 屬性節點
文字插入 HTML 元素是 文字節點與註解節點
最基本的節點類型是Node類型,其他所有類型都繼承自Node,DOM操作往往是js中開銷最大的部分,因而NodeList導致的問題最多。要注意:NodeList是‘動態的',也就是說,每次訪問NodeList對象,都會運行一次查詢,雖然這樣增加了開銷,但可以保證我們新添加的節點都能在NodeList中訪問的到。
所有的元素節點都有共用的屬性和方法,讓我們來詳細看看:
先來看較為常用的 通用 屬性
1 element.id 設定或返回元素的 id。
2 element.innerHTML 設定或傳回元素的內容,可包含節點中的子標籤以及內容
3 element.innerText 設定或傳回元素的內容,不包含節點中的子標籤以及內容
ement設定或傳回元素的類別名稱
5 element.nodeName 傳回該節點的大寫字母標籤名稱
6 element.nodeType 傳回該結點的節點類型,1表示元素節點… 2表示屬性節點… nodeValue 傳回該節點的value值,元素節點的值為null
8 element.childNodes 傳回元素的子節點的nodeslist對象,nodelist類似於數組,有length屬性,可以使用方括號[index] 存取指定索引的值(也可以使用item(index)方法)。但nodelist並不是數組。
9 element.firstChild/element.lastChild 傳回元素的第一個/最後一個子節點(包含註解節點與文字節點)
10 element.parentNode 傳回該結點的父節點與目前節點同級的上一個節點(包含註解節點和文字節點)
12 element.nextSibling 傳回與目前節點同級的下一個節點(包含註解節點與文字節點)
13 element.chileElementCount : 返回子元素: 返回子元素(不包括文字節點以及註解節點)的個數
14 element.firstElementChild /lastElementChild 傳回第一個/最後一個子元素(不包括文字節點以及註解節點)
15 element.previousElementSibling/nextElementSibling 後一個兄弟元素(不包括文本節點以及註釋節點)
16 element.clientHeight/clientWidth 返回內容的可視高度/寬度(不包括邊框,邊距或滾動條)
17 element.offsetHeight/offsetWidth /offsetLeoff /offset/Top 傳回元素的高度/寬度/相對於父元素的左偏移/右偏移(包括邊框和填充,不包括邊距)
18 element.style 設定或傳回元素的樣式屬性,。例:element.style.backgroundColor 注意,與CSS不同,style的屬性要去掉橫槓,第二個字首字母要大寫
19 element.tagName 返回元素的標籤名稱(大寫)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Title</title> <style> .form_style{ color: #5b5b5b; font-size: large; border: 5px solid rebeccapurple; background-color: antiquewhite; width: 440px; height: 120px; position: relative; left: 20px; top:20px; margin:10px; } p { color: #5b5b5b; font-size: larger; text-indent: 40px; } </style> </head> <body> <form id='first_form' name="cangjingge" > 请选择功法:<br/> <input type="radio" name="gongfa" value="jysg">九阳神功<br/> <input type="radio" name="gongfa" value="qkdny">乾坤大挪移<br/> <input type="radio" name="gongfa" value="khbd">葵花宝典<br/> <input type="radio" name="gongfa" value="xxdf">吸星大法<br/> </form> <p>少侠请三思!!!</p><!--注释标签--> <p>推荐功法-->葵花宝典</p> <script> //js演示代码请添加至此 var a=document.getElementById('first_form'), b = document.getElementsByTagName('p')[0]; console.log(a.id); console.log(a.innerHTML); console.log(a.className); console.log(a.childNodes); console.log(a.firstChild); console.log(a.lastChild); console.log(a.nodeName); console.log(a.nodeType); console.log(a.nodeValue); console.log(a.parentNode); console.log(a.clientHeight); console.log(a.offsetHeight); console.log(b.nextSibling); console.log(b.nextElementSibling); </script> </body> </html>
瀏覽器顯示結果:
還有某些專屬屬性專屬屬性指那些專屬於某種標籤的屬性。例如 標籤,有href和target屬性。 有src屬性;