charsandrew
2018-01-04 05:39:05
? DOM編程藝術(shù)第2版 第129頁(yè)對(duì)于圖中這段html代碼:<abbr?title="Document?Object?Model"><em>DOM</em></abbr>使用firstChild屬性和lastChild屬性取得的不都是em元素節(jié)點(diǎn)嗎?為什么我覺得二者這里效果沒(méi)有差別呢?2.? DOM編程藝術(shù) 第140頁(yè)書中說(shuō)由于lastChild得到的節(jié)點(diǎn)可能不是一個(gè)元素節(jié)點(diǎn), 為了實(shí)現(xiàn)得到最后一個(gè)元素節(jié)點(diǎn)lastElementChild的效果,使用了下面的代碼:var?quoteElements?=?parentNode.getElementsByTagName('*');
var?elem?=?quoteElements[quoteElements.length?-?1];得到的 elem 就是父節(jié)點(diǎn)的最后一個(gè)元素節(jié)點(diǎn)。?可是我覺的無(wú)論lastChild 還是 lastElementChild 都指的是父節(jié)點(diǎn)的兒子節(jié)點(diǎn)吧,使用getElementsByTagName('*')不是將所有后代元素節(jié)點(diǎn)都列出來(lái)了嗎?lastElementChild 真的可以用上面代碼實(shí)現(xiàn)???求解惑。。。?
1 回答

qq_0_165
TA貢獻(xiàn)1條經(jīng)驗(yàn) 獲得超0個(gè)贊
1,我試過(guò)了:兩種得到的都是子節(jié)點(diǎn)<em>DOM</em>。反正,此處attr元素有1個(gè)子節(jié)點(diǎn),是<em>元素節(jié)點(diǎn),<em>又有1個(gè)子節(jié)點(diǎn)(文本節(jié)點(diǎn)DOM)。我覺得也許是書錯(cuò)了吧,你可以再自己試試!
2,因?yàn)椋琹astChild得到的可能是文本節(jié)點(diǎn),而不是元素節(jié)點(diǎn),因此,我們要使用parentNode.getElementsByTagName('*')得到所有的后代元素節(jié)點(diǎn),就將所有的后代元素節(jié)點(diǎn)放在quoteElements 數(shù)組里面,獲取數(shù)組的最后一個(gè)元素(quoteElements[quoteElements.length?-?1]),那么,得到的肯定就是最后一個(gè)元素節(jié)點(diǎn)??!
點(diǎn)擊展開后面1條
添加回答
舉報(bào)
0/150
提交
取消