一、javascript的三大核心 1.ECMAScript js的語法標準 2.DOM Document object Model 文檔對象模型,提供的方法可以讓js操作html標簽 3.BOM Browser Object Model 瀏覽器對象模型,提供的方法讓js可以操作瀏覽器 註意:1. ...
1.ECMAScript js的語法標準
2.DOM Document object Model 文檔對象模型,提供的方法可以讓js操作html標簽
3.BOM Browser Object Model 瀏覽器對象模型,提供的方法讓js可以操作瀏覽器
註意:1. js里最大的boss是window,document只是window下的一個對象
-
document.documentElement 這個東西可以拿到html
document(在文檔里,document是老大)
|
html
/ \
/ \
/ \
body head
/ / | \
/ / | \
/ / | \
/ | \ meta title style
二、DOM的屬性
js ---> DOM --> html
js通過DOM去操作html標簽
-
childNodes 返回當前對象下的所有子節點對象,會返迴文本節點
註意: 在ie8下只會返回元素節點
-
nodeType 返回節點類型,元素節點返回1 文本節點返回3 註釋節點返回8
-
children 返回對象下所有子元素節點,並且沒有相容問題
-
firstChild 返回第一個子節點,在IE8跟childNodes一樣的表現
-
lastChild 返回最後一個子節點 同上
-
firstElementChild 返回最後一個元素節點,不相容IE8
-
nextSibling 下一個兄弟節點 在主流的瀏覽器,可能會拿到除了元素節點以外的節點,在IE8里,只會返回元素節點,如果沒有就返回null
-
previousSibling 上一個兄弟節點 同上
-
nextElementSibling 下一個兄弟元素節點 如果沒有返回null 不相容IE678
-
previousElementSibling 上一個 同上
-
parentNode * 返回父節點 沒有相容性
-
offsetParent 返回定位父級,如果都沒有找到,最後返回body上,沒有相容問題
13.nodeName 返回標簽的構造器 標簽名大寫字母
三、DOM的一些方法
createElement(‘p’)
這個裡面是標簽
新建元素節點,需要接受一個參數,參數就是需要新建的標簽。
createTextNode()
新建文本節點
createComment()
新建註釋節點
節點操作
添加元素節點
1. 父級.appendChild(子節點)
把子節點添加到父節點里去 往父級的所有子元素節點後 追加一個節點
2. 父級.insertBefore(子節點, 指定的子節點)
添加到指定的節點前面
-
父級.removeChild(需要刪除的節點)
1.克隆節點 cloneNode
克隆節點, 克隆母體.cloneNode()
函數接收一個參數,這個參數是一個布爾值,預設false,淺複製, true深度複製
淺複製:只複製標簽
深度複製:把跟這個標簽對象相關的一些標簽的行內的信息一起複制,不會複製js里的自定義屬性。
這是我對dom學習的筆記,如果能夠幫助到你,我會非常高興。