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ǔ)上做累加