1. 程式人生 > >HTML DOM學習筆記

HTML DOM學習筆記

DOM 是Document Object Model( 文件物件模型 )的縮寫。 

DOM是把html裡面的各種資料當作物件進行操作的一種思路。 (面向物件的角度看html的標籤)

節點概念

DOM把所有的html都轉換為節點 
整個文件 是一個節點 
元素 是節點 
元素屬性 是節點 
元素內容 是節點 
註釋 也是節點 
 

獲取節點

document.getElementById

通過id獲取元素節點

getElementsByTagName

通過標籤名稱獲取元素節點

getElementsByClassName

通過類名獲取元素節點

getElementsByName

通過表單元素的name獲取元素節點

attributes

獲取屬性節點

childNodes

獲取內容節點

注:獲取節點為null,可能是在執行到 document.getElementById的時候,div標籤還沒有載入,所以無法獲取。因為javascript是解釋語言,是順序執行的。

節點的屬性

nodeName

節點名稱

nodeValue

節點值

nodeType

節點型別

innerHTML

元素的文字內容

id
value
className

元素上的屬性

樣式

一個元素節點的style屬性即對應的css

通過給元素的style.backgroundColor 賦值,修改樣式
你也許注意到了style.backgroundColor 這裡的backgroundColor和css中的背景色background-color是有所不同的
換句話說,通過DOM的style去修改樣式,需要重新記憶另一套樣式名稱,這是很累贅的事情。
最好能夠通過CSS的屬性名,直接就進行修改了。比如通過這樣的方式:

d1.css("background-color","green");


這樣就僅僅需要使用CSS原本的屬性名即可了。
Javascript並不提供這樣的解決方案,但是到了JQuery就提供了這樣的解決方案

事件

onfocus
onblur

焦點事件

onmousedown
onmouseup
onmousemove
onmouseout

滑鼠事件

onkeydown
onkeypress
onkeyup

鍵盤事件

onclick
ondbclick

點選事件

onchange

變化事件

onsubmit

提交事件

onload

載入事件

this

當前元件

return false

阻止事件的發生

節點關係

parentNode

父節點關係

previousSibling
nextSibling

同胞節點關係

childNodes

子節點關係

childNodes
children

childNodes和children的區別:

childNodes和children都可以獲取一個元素節點的子節點
childNodes 會包含文字節點 
children 會排除文字節點 

建立節點

createElement

建立元素節點

createTextNode

建立文字節點

createAttribute

建立屬性節點

例:

/*定義 函式,建立標籤*/
function createTag(tagName,tagVal){
    var tag=document.createElement(tagName);
    tag.className=tagVal;
    return tag;
}
/*根據id或class 查詢標籤*/
function $(selector){
    return document.querySelector(selector);
}