javascript(DOM常用方法)


title: javascript(DOM常用方法)
date: 2017-06-01 10:31:19
tags: javascript筆記


DOM操作的一些常用屬性和方法

元素節(jié)點(diǎn)的nodeType是1

屬性節(jié)點(diǎn)的nodeType是2

文本節(jié)點(diǎn)的nodeType是3

節(jié)點(diǎn)的獲取

childNodes:獲取某個(gè)元素下的所有子節(jié)點(diǎn),包含文本節(jié)點(diǎn)和元素節(jié)點(diǎn)。

children:獲取某個(gè)元素下的所有元素子節(jié)點(diǎn)。

nextElementSibling:獲取元素的下一個(gè)兄弟元素節(jié)點(diǎn)。

previousElementSibling:獲取元素的上一個(gè)兄弟元素節(jié)點(diǎn)。

firstElementChild:獲取元素下的第一個(gè)元素子節(jié)點(diǎn)。

lastElementChild:獲取元素下的第一個(gè)元素子節(jié)點(diǎn)。

parentNode:獲取元素的父節(jié)點(diǎn)。

nodeValue:查看節(jié)點(diǎn)的屬性值。

nodeName:查看節(jié)點(diǎn)的屬性名。

nodeType:查看節(jié)點(diǎn)的類型。

屬性的獲取和設(shè)置

offsetParent:獲取最近有定位屬性的祖先節(jié)點(diǎn)。如果沒有直接獲取body。

offsetLeft:左外邊框到有定位的最近的父級元素的內(nèi)邊框的距離。不帶px單位。父級沒有帶定位的就是到body的距離。

offsetTop:上外邊框到有定位的最近的父級元素的內(nèi)邊框的距離。不帶px單位。父級沒有帶定位的就是到body的距離。

getAttribute():獲取元素的行內(nèi)設(shè)置的屬性值。參數(shù)是屬性名。

setAttribute():設(shè)置元素的行內(nèi)設(shè)置的屬性值。參數(shù)是屬性名和屬性值。

removeAttribute():刪除元素的行內(nèi)設(shè)置的屬性值。參數(shù)是屬性名。

getBoundingClientRect(): 當(dāng)前元素距離body的四個(gè)方向的距離和寬高的對象。獲取的值會(huì)隨著頁面滾動(dòng)位置而改變。值是不帶單位的。

clientWidth:獲取元素不計(jì)算邊框的寬度。document.documentElement.clientWidth是瀏覽器窗口可是區(qū)域的寬度。

clientHeight:獲取元素不計(jì)算邊框的高度。document.documentElement.clientHeight是瀏覽器窗口可是區(qū)域的高度。

offsetWidth:獲取元素計(jì)算邊框的寬度。

offsetHeight:獲取元素計(jì)算邊框的高度。

操作節(jié)點(diǎn)

document.createElement():創(chuàng)建一個(gè)元素節(jié)點(diǎn),參數(shù)是元素的名稱,字符串格式。

appendChild():將一個(gè)元素節(jié)點(diǎn)添加到另一個(gè)元素節(jié)點(diǎn)的最后,格式為父節(jié)點(diǎn).appendChild(要添加的節(jié)點(diǎn))

insertBefore():將一個(gè)元素節(jié)點(diǎn)添加到一個(gè)元素節(jié)點(diǎn)的指定子節(jié)點(diǎn)的前面。格式為父節(jié)點(diǎn).insertBefore(要添加的節(jié)點(diǎn),添加到這個(gè)節(jié)點(diǎn)之前),假如第二個(gè)參數(shù)是不存在的,節(jié)點(diǎn)將會(huì)添加到父節(jié)點(diǎn)的最后。

removeChild():刪除一個(gè)指定的元素子節(jié)點(diǎn),如果指定的節(jié)點(diǎn)找不到會(huì)報(bào)錯(cuò)。格式為父節(jié)點(diǎn).removeChild(要?jiǎng)h除的節(jié)點(diǎn))

replaceChild():替換一個(gè)元素節(jié)點(diǎn),格式是父節(jié)點(diǎn).replaceChild(要添加的節(jié)點(diǎn),被替換的節(jié)點(diǎn))

cloneNode():克隆一個(gè)元素節(jié)點(diǎn),默認(rèn)只會(huì)克隆節(jié)點(diǎn)本身,不會(huì)克隆它的子節(jié)點(diǎn),如果要將這個(gè)節(jié)點(diǎn)下的所有子節(jié)點(diǎn)也都克隆需要傳參數(shù)true,格式為要克隆的節(jié)點(diǎn).cloneNode(true)

appendChild()、insertBefore()、replaceChild()在操作一個(gè)已有元素時(shí),是將已有元素移動(dòng),而不是復(fù)制一份進(jìn)行操作。

操作表格

對于表格的操作javascript提供了一些簡單的獲取方式。

假設(shè)table是已經(jīng)獲取到的表格元素。

table.tHead:獲取表格頭部。

table.tFoot:獲取表格底部。

table.tBodies:獲取表格主體。

table.tBodiesn.rows[n]:獲取表格的行,就是tr。

table.tBodiesn.rows[n].cells[n]:獲取單元格,就是td。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,814評論 1 92
  • DOM DOM內(nèi)容主要分為四部分: 什么是DOM和節(jié)點(diǎn); 獲取節(jié)點(diǎn); 節(jié)點(diǎn)操作(3種); 屬性操作(3種)。 什么...
    magic_pill閱讀 793評論 0 1
  • 拍攝器材:手機(jī),華為,榮耀8,自動(dòng)拍攝 后期處理:黃油相機(jī),顏色hs80微調(diào) 地點(diǎn):寧波市博物館 時(shí)間:2017....
    小軟軟同學(xué)閱讀 156評論 0 2
  • 每日千字文21 放假之前的家長會(huì)上還有學(xué)生問我,為什么說放假對學(xué)生來說不是好事呢? 因?yàn)榉偶倨陂g生物鐘被打亂,精力...
    星酉林夕閱讀 253評論 0 1
  • 冥想是人進(jìn)入一種跟當(dāng)下在一起的狀態(tài)。 有多少種冥想方法呢?——六個(gè)大類冥想法:分別以視、聽、嗅、味、觸、想為中心 ...
    樹先生聊生涯閱讀 1,940評論 0 0