1. 程式人生 > 程式設計 >JavaScript DOM常用操作程式碼彙總

JavaScript DOM常用操作程式碼彙總

1.理解DOM:

  DOM(Document Object Model ,文件物件模型)一種獨立於語言,用於操作xml,html文件的應用程式設計介面。

  怎麼說,我從兩個角度理解:

對於JavaScript,為了能夠使JavaScript操作Html,JavaScript就有了一套自己的dom程式設計介面。

對於Html,dom使得html形成一棵dom樹,類似於一顆家族樹一樣,一層接一層,子子孫孫。

  所以說,有了DOM,在我看來就是相當於JavaScript拿到了鑰匙一樣可以去操作Html的每一個節點,觸控Html每寸肌膚。(咳。。。)

2.介紹Html的DOM樹:

說明:html標籤通過瀏覽器的解析後才會形成dom樹,此後HTML中的每個標籤元素,屬性,文字都能看做是一個DOM的節點,JavaScript都能通過dom的提供的程式設計介面操作到每個節點,去了解瀏覽器的渲染機制能夠幫助我們瞭解dom。

Html程式碼:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>dom</title>
</head>
<body>
  <div>
    <a href="www.baidu.com" rel="external nofollow" >百度</a>
  </div>
</body>
</html>

對應的DOM樹結構圖:

JavaScript DOM常用操作程式碼彙總

3.認識JavaScript中的DOM程式設計介面:


上面說了html形成的dom樹,接著說下通過js的dom程式設計介面去操作這棵dom樹。

JavaScriptDOM操作的常用方法和屬性::

常用方法:

獲取節點:

  • document.getElementById(idName) //通過id號來獲取元素,返回一個元素物件
  • document.getElementsByName(name) //通過name屬性獲取id號,返回元素物件陣列
  • document.getElementsByClassName(className) //通過class來獲取元素,返回元素物件陣列(ie8以上才有)
  • document.getElementsByTagName(tagName) //通過標籤名獲取元素,返回元素物件陣列

獲取/設定元素的屬性值:

  • element.getAttribute(attributeName) //括號傳入屬性名,返回對應屬性的屬性值
  • element.setAttribute(attributeName,attributeValue) //傳入屬性名及設定的值

建立節點Node:

  • document.createElement("h3") //建立一個html元素,這裡以建立h3元素為例
  • document.createTextNode(String); //建立一個文字節點;
  • document.createAttribute("class"); //建立一個屬性節點,這裡以建立class屬性為例

增添節點:

  • element.appendChild(Node); //往element內部最後面新增一個節點,引數是節點型別
  • elelment.insertBefore(newNode,existingNode); //在element內部的中在existingNode前面插入newNode

刪除節點:

element.removeChild(Node) //刪除當前節點下指定的子節點,刪除成功返回該被刪除的節點,否則返回null

常用屬性:

獲取當前元素的父節點 :

element.parentNode //返回當前元素的父節點物件

獲取當前元素的子節點:

  • element.chlidren //返回當前元素所有子元素節點物件,只返回HTML節點
  • element.chilidNodes //返回當前元素多有子節點,包括文字,HTML,屬性節點。(回車也會當做一個節點)
  • element.firstChild //返回當前元素的第一個子節點物件
  • element.lastChild //返回當前元素的最後一個子節點物件

獲取當前元素的同級元素:

  • element.nextSibling //返回當前元素的下一個同級元素 沒有就返回null
  • element.previousSibling //返回當前元素上一個同級元素 沒有就返回null

獲取當前元素的文字:

  • element.innerHTML //返回元素的所有文字,包括html程式碼
  • element.innerText //返回當前元素的自身及子代所有文字值,只是文字內容,不包括html程式碼

獲取當前節點的節點型別:node.nodeType //返回節點的型別,數字形式(1-12)常見幾個1:元素節點,2:屬性節點,3:文字節點。

設定樣式:element.style.color=“#eea”; //設定元素的樣式時使用style,這裡以設定文字顏色為例。

4.總結:

大家都會覺得用jQuery來操作dom會更加的方便且好用,因為jq對js的dom進行了封裝,使得我們Write Less,Do More。但是我覺得還是要總結一下原生js的dom,從根本上了解js對dom的操作,只會有利而無害。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。