jsparentElement和offsetParent之間的區(qū)別_javascript技巧
來源:懂視網(wǎng)
責(zé)編:小采
時間:2020-11-27 20:48:07
jsparentElement和offsetParent之間的區(qū)別_javascript技巧
jsparentElement和offsetParent之間的區(qū)別_javascript技巧:首先是 parentElement 屬性,這個屬性好理解,就是在 DOM 層次結(jié)構(gòu)定義的上下級關(guān)系,如果元素A包含元素B,那么元素B就可以通過 parentElement 屬性來獲取元素A。 這里主要說的是 offsetParent 屬性,這個屬性在 MSDN 的文檔中也沒有解釋清楚,這就讓人
導(dǎo)讀jsparentElement和offsetParent之間的區(qū)別_javascript技巧:首先是 parentElement 屬性,這個屬性好理解,就是在 DOM 層次結(jié)構(gòu)定義的上下級關(guān)系,如果元素A包含元素B,那么元素B就可以通過 parentElement 屬性來獲取元素A。 這里主要說的是 offsetParent 屬性,這個屬性在 MSDN 的文檔中也沒有解釋清楚,這就讓人

首先是 parentElement 屬性,這個屬性好理解,就是在 DOM 層次結(jié)構(gòu)定義的上下級關(guān)系,如果元素A包含元素B,那么元素B就可以通過 parentElement 屬性來獲取元素A。
這里主要說的是 offsetParent 屬性,這個屬性在 MSDN 的文檔中也沒有解釋清楚,這就讓人更難理解這個屬性。 這幾天在網(wǎng)上找了些資料看看,再加上自己的一些測試,對此屬性有了那么一點(diǎn)的了解,在這里總結(jié)一下。
要明白 offsetParent 屬性,要先明白“已定位元素” 這個名字,所謂“已定位元素”就是指給元素設(shè)置了 position 屬性的樣式,并且 position 樣式屬性的值等于 absolute、relative、fixed 之一的元素。
在使用 offsetParent 屬性獲取父級對象時有以下兩種情況:
1、元素本身已經(jīng)定位
如果元素本身已經(jīng)定位,那么 offsetParent 屬性返回此元素已定位父級元素,如沒有已定位的父級元素,則返回 BODY 對象,例如:
代碼如下:
obj1.offsetParent 返回 BODY 對象
obj2.offsetParent 返回 pObj1 對象
2、元素沒有定位
如果元素沒有定位, offsetParent 不但會找已經(jīng)定位的父級元素而且還會查找類型為 TD 和 TABLE 的父級元素,只要找到這三種父級元素的其中任何一種元素將返回此元素,否則返回 BODY 對象,例如:
代碼如下:
obj1.offsetParent 返回 td1 對象
obj2.offsetParent 返回 pObj2 對象
在 DOM 元素的屬性里,還有 parentNode 這個屬性,其實(shí)這個屬性跟 parentElement 屬性是一個意思,parentElement 屬性是 IE 特有的,W3C 標(biāo)準(zhǔn)是使用 parentNode 屬性,還有 children 和 childNodes, children 是 IE 特有的, childNodes 被其他瀏覽支持。
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com
jsparentElement和offsetParent之間的區(qū)別_javascript技巧
jsparentElement和offsetParent之間的區(qū)別_javascript技巧:首先是 parentElement 屬性,這個屬性好理解,就是在 DOM 層次結(jié)構(gòu)定義的上下級關(guān)系,如果元素A包含元素B,那么元素B就可以通過 parentElement 屬性來獲取元素A。 這里主要說的是 offsetParent 屬性,這個屬性在 MSDN 的文檔中也沒有解釋清楚,這就讓人