詳談DOM簡介及節(jié)點、屬性、查找節(jié)點的方法
DOM(Document Object Modle) 操作文檔的編程接口
DOM定義了表示和修改文檔的方法,不能修改css樣式表,在js中使用DOM方法改變元素的css樣式,實質上是在元素上添加行間樣式。
DOM對象就是宿主對象,用來操作HTML和xml功能對象的集合。 xml——>xhtml——>html4.0——>html5
HTML和xml的區(qū)別:除了xml可以自定義標簽外基本上沒區(qū)別,xml被json替代了。
document,單獨寫的時候,它代表整個文檔,隱式的寫在html標簽的上一層,html只是文檔中的根標簽。
注意點:BOM、DOM成組的東西都是類數(shù)組,而不是數(shù)組。
獲取元素的方法:
getElementById();
在IE8以下的瀏覽器不區(qū)分id值得大小寫,并且匹配元素的name的屬性值。由于后臺會修改id值,所以盡量不用或少用id。
getElementsByTagName();標簽名,所有瀏覽器都支持
getElementsByClassName(); IE8及其以下得瀏覽器不支持
getElementsByName(); 在舊版本中,只有能提交請求的標簽的name才生效(form、表單元素、img、iframe)
document.querySelector(); css選擇器,IE7及以下不兼容,并且不具有實時性。
document.querySelectAll();
節(jié)點類型:
元素節(jié)點 1
屬性節(jié)點 2
文本(text)節(jié)點 3 // 文本、空格、回車等都是文本節(jié)點
注釋(comment)節(jié)點 8
document節(jié)點 9
documentfragment 11
遍歷節(jié)點數(shù):
parentNode 子節(jié)點的父節(jié)點,最終的parentNode節(jié)點是document節(jié)點。
childNodes 父節(jié)點的所有子節(jié)點,元素節(jié)點、注釋節(jié)點、文本節(jié)點
firstChild 第一個子節(jié)點
lastChild 最后一個子節(jié)點
nextSibling 下一個兄弟節(jié)點
previousSibling 前一個兄弟節(jié)點
遍歷元素節(jié)點數(shù):(除了children節(jié)點,其他的都是IE9及以下不兼容)
parentElement 元素的父元素節(jié)點,最終的父元素節(jié)點是html元素,document是自成節(jié)點。
children 父元素下的元素子節(jié)點。
node.childElementCount === node.children.length 當前子節(jié)點的元素子節(jié)點個數(shù)。用children.length。
firstElementChild 第一個元素子節(jié)點
lastElementChild 最后一個元素子節(jié)點
nextElementSibling、previousElemnetSibling
節(jié)點的四個屬性:
nodeName 除了元素節(jié)點,返回的結果前面都有一個‘#',而元素節(jié)點返回大寫形式的標簽名,類型都為只讀。
nodeValue 只用于文本節(jié)點和注釋節(jié)點,可讀寫。
nodeType 返回數(shù)字,該數(shù)字代表對應的節(jié)點類型。只讀
attributes 元素節(jié)點的屬性集合。
node.hasChildNodes()方法,判斷父節(jié)點里面是否有子節(jié)點,返回結果為布爾值。
以上這篇詳談DOM簡介及節(jié)點、屬性、查找節(jié)點的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
JavaScript中的函數(shù)的兩種定義方式和函數(shù)變量賦值
這篇文章主要介紹了JavaScript中的函數(shù)的兩種定義方式和函數(shù)變量賦值,需要的朋友可以參考下2014-05-05JavaScript字符串對象charAt方法入門實例(用于取得指定位置的字符)
這篇文章主要介紹了JavaScript字符串對象charAt方法入門實例,charAt方法用于取得指定位置的字符,需要的朋友可以參考下2014-10-10JavaScript將數(shù)組轉為對象與JSON對象字符串轉數(shù)組方法詳解
這篇文章主要介紹了JavaScript將數(shù)組轉為對象與JSON對象字符串轉數(shù)組方法詳解,需要的朋友可以參考下2022-10-10JavaScript中的Repaint和Reflow用法詳解
這篇文章主要介紹了JavaScript中的Repaint和Reflow用法詳解,是JS入門學習中的基礎知識,需要的朋友可以參考下2015-07-07IE網(wǎng)頁js語法錯誤2行字符1、FF中正常的解決方法
使用模態(tài)窗體則會先彈出此錯誤然后再顯示新打開的界面,經(jīng)搜索找到不錯的解決方法,有類似問題的朋友可以參考下,希望對大家有所幫助2013-09-09