課程
/前端開發
/JavaScript
/JavaScript進階篇
為什么寫成firstChild是無定義而lastChild就能輸出?應該第一個無定義最后一個也是一樣的才對?。?/p>
2017-01-08
源自:JavaScript進階篇 9-10
正在回答
請仔細看慕課的代碼,firstChild獲取的是父元素之后的空白節點,由于無內容,所以會輸出undefined,而最后一個子元素的結束處是</li></ul>,此處無斷開,所以lastChild就是我們要獲取的內容,假如把最后一個</li>與</ul>斷開換行,lastChild的獲取結果也是undefined。
假如最后一個</li>與</ul>斷開換行,要獲取作業所說的效果,則應該是
var mylist = document.getElementById("tcon");
var ?a=mylist.parentNode.parentNode.parentNode.childNodes;
document.write(a[a.length-2].innerHTML);
我也是剛剛悟出來的,一起學習,謝謝。
我估計是瀏覽器的規則吧,相當于你繞了一圈又指代自己,這種做法在編程里很容易報錯的。
這個不太清楚,有大神回答沒?不過使用lastElementChild和firstElementChild就沒有這個問題了
舉報
本課程從如何插入JS代碼開始,帶您進入網頁動態交互世界
3 回答為什么我寫的是一樣的,但輸出的結果卻不一樣,我寫出來輸出的結果是未定義。。
1 回答本節lastChild能輸出,firstChild就會undefined
1 回答為什么兩個變量都要賦值才能輸出,而不是賦值一個就輸出一個?
2 回答這段代碼為什么firstChild就輸出underfined呢?而lastChild就可以輸出
2 回答為什么我和第一個同學的差不多就是出不來啊,而且定義的那個score根本就沒有用吧
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2017-05-18
請仔細看慕課的代碼,firstChild獲取的是父元素之后的空白節點,由于無內容,所以會輸出undefined,而最后一個子元素的結束處是</li></ul>,此處無斷開,所以lastChild就是我們要獲取的內容,假如把最后一個</li>與</ul>斷開換行,lastChild的獲取結果也是undefined。
假如最后一個</li>與</ul>斷開換行,要獲取作業所說的效果,則應該是
var mylist = document.getElementById("tcon");
var ?a=mylist.parentNode.parentNode.parentNode.childNodes;
document.write(a[a.length-2].innerHTML);
我也是剛剛悟出來的,一起學習,謝謝。
2017-01-12
我估計是瀏覽器的規則吧,相當于你繞了一圈又指代自己,這種做法在編程里很容易報錯的。
2017-01-09
這個不太清楚,有大神回答沒?不過使用lastElementChild和firstElementChild就沒有這個問題了