JavaScript DOM節(jié)點操作

1、獲取元素:

class 值的獲取方式:

className: 獲取元素 class 屬性值

//注 : class 是 js 的關(guān)鍵字,規(guī)范化,不能將其做為屬性的名字

getElementById:通過 ID 值獲取 dom 對象,返回 html 元素對象,

參數(shù): 字符串,表示? ID 屬性的賦值

getElementByClassName: 通過元素標(biāo)簽名字,獲取 DOM 元素對象,返回類數(shù)組,

參數(shù): 字符串,表示元素名字

getElementByTagName : 通過標(biāo)簽名獲取 html 元素

//注 : getElement... 沒有 s ,返回的都是 DOM 對象

getElements ... 返回的都是類數(shù)組

querySelector() , 返回 DOM 對象,不是數(shù)組,

參數(shù): css 選擇器

querySelectorAll(), 返回類數(shù)組,參數(shù) : css 選擇器

2、節(jié)點操作

1) createElement() 創(chuàng)建 dom 節(jié)點,返回新建的 dom 對象

注意: js 創(chuàng)建的,如果不添加到頁面中,頁面中是不存在的;

2)appendChild: 添加為父元素的最后一個子節(jié)點,并返回添加的子節(jié)點

注意:如果是新增元素,需要先創(chuàng)建再添加

3) innerHTML :

~~ dom.innerHTML 返回 dom 中所有子代的字符串,重新賦值

~~ 在原有的基礎(chǔ)上新增

4) innerText : 賦值內(nèi)容,類型為字符串,重新賦值,不適合新增操作

// 注 : 以上兩者應(yīng)用差不多,初始化返回,innerHTML 中包括 html 字符串,而 innerText 沒有,建議使用 innerHEML;

5) getcomputedStyle(dom,null).css屬性

返回對象,全局 css 樣式

參一: dom 對象;

參二: 是否返回偽類樣式;

3、節(jié)點的方法:

1) nodeType : 節(jié)點查詢,返回的對象,是否可以使用 DOM 下的 API,返回值可能是 text 、dom 、attr

2) nodeName: 元素的標(biāo)簽名,以大寫形式表示

3)nodeValue : text 節(jié)點 或 comment 節(jié)點的文本內(nèi)容

4) parentNodes:父節(jié)點(最頂端的 parentnode 為 #document)

5)parentElement:返回當(dāng)前元素的父節(jié)點

6)children :子節(jié)點,只返回當(dāng)前元素的元素子節(jié)點

7)firstChild : 第一個子節(jié)點

8) lastChild:最后一個子節(jié)點

9) nextSibling :下一個兄弟節(jié)點

10)previoussibling :上一個兄弟節(jié)點

4、DOM 基本操作

1、查看滾動條的滾動距離:

window.pageXoffset/pageYoffset

document.body/documentElement.scrollLeft/Scrolltop(這兩個兼容性比較差,用的時候同時取兩個值相加,因為不可能存在兩個同時有值)?

2、查看視口尺寸:

window.innerWidth/innerHeight

document.documentElement.clientWidth/clientHeight //標(biāo)準(zhǔn)模式下,任意瀏覽器都兼容

document.body.clientWidth/clientHeight //適用于怪異模式下的瀏覽器

? 3、查看元素的幾何尺寸

document.getBoundingClientRect();

兼容性好,該方法返回一個對象,對象里面有 left,top,right,bottom 等屬性。 left 和 top 代表該元素左上角的 x 和 y 坐標(biāo),right 和bottom 代表右下角的 x 和 y 坐標(biāo)

4、讓滾動條滾動

window 上有三個方法

scroll() , scrollTo() ,scrollBy()

三個方法功能類似,用法都是將 x,y 坐標(biāo)傳入。即實現(xiàn)讓滾動條滾動到當(dāng)前位置。

區(qū)別: scrollBy() 會在之前的數(shù)據(jù)基礎(chǔ)之上做累加。

eg: 利用 scrollBy() 快速閱讀的功能

5、查看元素的尺寸

dom.offsetWidth

dom.offsetHeight

查看元素的位置

dom.offsetLeft

dom.offsetTop

對于屋頂為父級的元素,返回相對文檔的坐標(biāo),對于返回相對于最近的有定位的父級的坐標(biāo)

dom.offsetParent

返回最近的有定位的父級,如無,則返回body,body.offsetParent

6、讓滾動條滾動

window 上有三個方法

scroll() 、 scrollTo() 、 scrollBy()

三個方法功能類似, 用法都是將 X、Y 坐標(biāo)傳入,即實現(xiàn)讓滾動輪滾動到當(dāng)前位置

區(qū)別: scrollby() 會在之前的基礎(chǔ)上做累加

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容