第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

讀《DOM編程藝術(shù)》遇到的2個疑問 ?

讀《DOM編程藝術(shù)》遇到的2個疑問 ?

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

1 回答

?
qq_0_165

TA貢獻1條經(jīng)驗 獲得超0個贊

1,我試過了:兩種得到的都是子節(jié)點<em>DOM</em>。反正,此處attr元素有1個子節(jié)點,是<em>元素節(jié)點,<em>又有1個子節(jié)點(文本節(jié)點DOM)。我覺得也許是書錯了吧,你可以再自己試試!

2,因為,lastChild得到的可能是文本節(jié)點,而不是元素節(jié)點,因此,我們要使用parentNode.getElementsByTagName('*')得到所有的后代元素節(jié)點,就將所有的后代元素節(jié)點放在quoteElements 數(shù)組里面,獲取數(shù)組的最后一個元素(quoteElements[quoteElements.length?-?1]),那么,得到的肯定就是最后一個元素節(jié)點?。?/p>

查看完整回答
反對 回復(fù) 2018-01-04
  • charsandrew
    charsandrew
    1. 是abbr元素 2. 抱歉問題沒說清楚, 我想表達的是使用getElementsByTagName('*')得到的是父節(jié)點的所有子孫節(jié)點(兒子及所有后代節(jié)點), 而lastChild 或者 lastElementChild 無論如何得到的只是兒子節(jié)點呀。 比如:<div id="div"><p>this is<span>span.</span></p></div> 這段html, div的lastChild是p元素節(jié)點, 而使用上面的方法得到的是span元素節(jié)點。
  • qq_0_165
    qq_0_165
    你的理解沒有問題,如果要找最后一個孩子節(jié)點確實不能使getElementsByTagName('*')這種方式!它會找出所有的后代元素,那么?。?!應(yīng)該只能使用lastChild吧!不好意思,我也不能解決你的問題,不太理解書上那兩句話的意思!
  • charsandrew
    charsandrew
    謝謝回答,之前糾結(jié)的點就是到底是書上的問題還是我理解的問題。 另外HTML5有個lastElementChild屬性。 https://developer.mozilla.org/en-US/docs/Web/API/ParentNode/lastElementChild
點擊展開后面1
  • 1 回答
  • 0 關(guān)注
  • 939 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號