天天看點

DOM重點核心-基礎

 擷取元素有哪兩種方法方法?

1 利用DOM提供的方法擷取元素。

  document.getElementbyId(),document.getELmenntbyTagName()

  document,getElementsByClassName('')

  document.querySelector(''),document.querySelectorAll()(+ ‘.','#','')

2 利用 節點層級關系。擷取元素。 父子元素。(相容性較差,邏輯性強!!!)

節點有3中:元素節點。屬性節點。文位元組點。

我們在實際開發中,主要操作的是元素節點!

nodeName:

nodeType : 元素節點1,屬性節點2 ,文本節點3.

nodeValue:

3種關系節點:

父親節點:parentNode:

孩子節點:

1childNodes,  2 children。(實際開發經常使用!)

第一個元素節點:有3種寫法。

firstChild,firstElementChild,children[0](第三個用多!)。

最後一個元素的寫法:有3種元素:

lastChild,lastElementChild, children[obecj.children.length -1 ])(第三個用的多);

兄弟節點:

換行也是一個文本節點。

node.nextSibling,node.previousSibling

node.nextElementSibling,node.previousElementSibling

先建立,在添加。

建立節點:動态創節點的。

document.createElement('tagName')

添加節點:

第一種方法:node.appendChild(Child);前面是node是父親,Child是孩子。

第二種方法:node.insertBefore(lili,ul.children[0]);

删除節點:

node.removeChild(child)删除父元素的子節點!

複制節點(克隆節點):

node.cloneNode();

node.cloneNode(true);為True;深拷貝,拷貝内容!

3種動态建立元素的

1. document.write(); 文檔流建立結束,文檔流執行完畢,則會導緻頁面全部重繪。

window.onload= function(){};頁面玩,記載完,調用。

2. element.innerHTML; 将内容寫入某個DOM節點,不會導緻全部重繪,

innerHTML建立多個元素效率更高,不要采用拼接字元串,采取數組形式拼接,那麼效率更高!

 inner.innerHTML += '<>百度</>'

3. document.createElement; 時間很快,效率很高!

var a =document. 

create.appendChild(a); :建立結構很清晰。效率稍微低一些。

DOM重點核心:

建立: 1documen.write 2  innerHTML 3 createElement

增加: 1appendChild。 2 insertBefore

删:removeChild

改:修改dom元素屬性,内容,屬性,表單的值。

  1.修改元素屬性: src,href,title

  2. 修改普通元素内容:innerHTML,innerText。

  3. 修改表單元素:value,type,disabled

  4. 修改元素樣式:style,className

查:1DOM 古老使用: getElementByld,getElementByTagName

2 H5提供新方法,querySelector,querySelectorAll提倡。

3 利用節點操作擷取元素:parentNode,children,nextElementSibling提倡。

自定義屬性:儲存屬性。 

1 setAttribute。 2 getAttribute 。3 removeAttribute

事件操作:事件源,事件類型 = 事件處理程式。

DOM