1. 程式人生 > >js---DOM節點

js---DOM節點

一、獲得元素:

1.getElementsByTagName()----所有瀏覽器都有這個方法,沒相容性問題

2.getElementById()---IE8.0以下,不區分Id的大小寫,也就是說也沒相容性問題

3.getElementsByClassName()---IE9.0以下沒有這個方法,存在相容性問題。

4.getElementsByName()---name屬性,Input的name屬性,並不是所有標籤都有效

5.querySelector('選擇器')---IE8.0以下不相容,選出來的是副本,再修改html中dom時,之前選出來的副本不會產生相應變化。

二、遍歷

遍歷節點樹:parentNode/childNodes/firstChild/lastChild/nextSibling/PreviousSibling---節點樹包括文字節點,註釋節點,空節點

遍歷元素樹:除children之外,其他IE9以下都存在相容性問題

parentElement---最高的父級到html;

children---無相容性問題,只返回當前元素的元素子節點

node.childElementCount===node.children.length當前節點的子元素個數

firstElementChild---返回的是第一個元素節點(IE不相容)

nextElementSibling/previousElementSibling

節點的型別:呼叫該節點nodeType

元素節點---1;屬性節點---2;文字節點---3;註釋節點---8;document---9;DocumentFragment---11

四、原型鏈:document--->HTMLDocument.prototype--->Document.prototype

getElementById() 定義在Document.prototype上;

getElementsByTagName() 在Document.prototype和Element.prototype上都分別定義了,所以可以用document.的形式也可以用elem.的形式(直接找到elem元素下的元素)