DOM(Document Object Model)文檔對象模型,它提供了操作和訪問DOM的方法和接口,也就是說定義了關(guān)于創(chuàng)建沉御、插入、修改皂冰、刪除頁面的標(biāo)準(zhǔn)。
我們的頁面內(nèi)容都是字符串养篓,js會把字符串都轉(zhuǎn)換成dom樹秃流,dom對再把字符串轉(zhuǎn)換成節(jié)點,我們對dom的操作就是對dom節(jié)點的操作柳弄。
節(jié)點(node):在文檔中的所有東西都是節(jié)點舶胀。
元素節(jié)點:html標(biāo)簽,如div,p,span...
文本節(jié)點:文字语御。
注釋節(jié)點:注釋的內(nèi)容峻贮。
屬性節(jié)點、document也是一個節(jié)點......
nodeName:節(jié)點名稱应闯。
nodeType:節(jié)點類型。
nodeValue:節(jié)點值挂捻。
節(jié)點 ? ? ? ? ? ? ? ? nodeName ? ? ? ?nodeType ? ? ? ?nodeValue
元素節(jié)點 ? ? ? ? 大寫的標(biāo)簽名 ? ? ? ? ?1 ? ? ? ? ? ? ? ? ?undefined或null
屬性節(jié)點 ? ? ? ? ?屬性名 ? ? ? ? ? ? ? ? ? ?2 ? ? ? ? ? ? ? ? ?屬性值
文本節(jié)點 ? ? ? ? ?#text ? ? ? ? ? ? ? ? ? ? ? 3 ? ? ? ? ? ? ? ? ? 文本本身
注釋節(jié)點 ? ? ? ? #comment ? ? ? ? ? ? ? 8 ? ? ? ? ? ? ? ? ?注釋內(nèi)容
文檔節(jié)點 ? ? ? ? ?#document ? ? ? ? ? ? 9 ? ? ? ? ? ? ? ? ? ?null
....... ? ? ? ? ? ? ? ? ? ? ?....... ? ? ? ? ? ? ? ? ? ?... ? ? ? ? ? ? ? ? ? ...
一碉纺、獲取節(jié)點
?A: 通過document獲取節(jié)點
1、getElementById(“id名稱”)//通過id名獲取元素
2刻撒、getElementByClassName('類名')//通過類名獲取元素骨田,返回nodeList。非標(biāo)準(zhǔn)瀏覽器不支持
3声怔、getElementByTagName(‘標(biāo)簽名’)//通過標(biāo)簽名獲取元素态贤,返回nodeList。非標(biāo)準(zhǔn)瀏覽器不支持
4醋火、getElementByName(‘name’)//通過元素的name獲取元素悠汽,返回nodeList
5、querySelector(‘選擇器’)//通過選擇器獲得一個DOM元素芥驳,若選擇器選中多個柿冲,默認(rèn)只返回第一個。非標(biāo)準(zhǔn)瀏覽器不支持
6兆旬、querySelectorAll(‘選擇器’)//通過選擇器獲得一組DOM元素假抄,非標(biāo)準(zhǔn)瀏覽器不支持。
B:通過節(jié)點指針獲取節(jié)點
1、childNodes:子節(jié)點宿饱,包括文本熏瞄、注釋節(jié)點....
2、children:元素子節(jié)點谬以,ie提出的非標(biāo)準(zhǔn)屬性 巴刻,部分瀏覽器不支持。
3蛉签、parentNode:父節(jié)點胡陪,document 節(jié)點沒有父節(jié)點。
4碍舍、previousSibling:上一個兄弟節(jié)點柠座。
5、nextSibling:下一個兄弟節(jié)點片橡。
6妈经、firstChild:第一個子節(jié)點。
7捧书、lastChild:最的一個子節(jié)點
8吹泡、previousElemnetSibling:上一個兄弟元素節(jié)點。非標(biāo)準(zhǔn)瀏覽器不支持经瓷。
9爆哑、nextElementSibling:下一個兄弟元素節(jié)點。非標(biāo)準(zhǔn)瀏覽器不支持舆吮。
10揭朝、firstElementChild:第一個元素子節(jié)點。非標(biāo)準(zhǔn)瀏覽器不支持色冀。
11潭袱、lastElementChild:最后一個元素子節(jié)點。非標(biāo)準(zhǔn)瀏覽器不支持锋恬。