我在本地頁面嵌入了console.log(document.body)
用於學習目的,當我點擊刷新時,它顯示了body,如baseURL,innerHTML等元素的屬性,而不是它的內容 。這是爲什麼發生? (我正在使用Chrome43)爲什麼console.log(document.body)會給出不同的結果?
回答
在JavaScript和DOM中,document.body
是一個對象,當您使用控制檯記錄它時,Chrome會顯示顯示包含其所有屬性的對象。 document.body
的內容可以在innerHTML
屬性中找到,也可以通過其他屬性進行訪問。
如果存在競爭條件並且在完成DOM樹之前觸發console.log(document.body)
,Chrome可能會顯示對象屬性而不是DOM樹。
如果您需要DOM樹,請在身體加載後嘗試記錄document.body
。
document
是DOM的根,不同於全球瀏覽器作用域window
。 console.log(document.body);
記錄DOM元素,而不是JavaScript對象。
如果'document'是DOM的根,那麼document.documentElement是什麼呢?另外,「DOM元素」和「JavaScript對象」是相同的,DOM節點在控制檯中以特殊方式呈現。 – Xufox
@Xufox當然有點沉悶了。但是,你如何解釋'document === window; // false'? – reergymerej
它們不是同一個對象。不確定你在問什麼。 'window'是'Window','document'是'Document'。他們有不同的目的。 – Xufox
- 1. 爲什麼Excel的平均值會給出不同的結果?
- 2. 爲什麼AWTRobot getPixelColor()會給出不同的結果?
- 3. 爲什麼Postgres position()函數會給出不同的結果?
- 4. 爲什麼scipy.stats.nanmean會給出numpy.nansum的不同結果?
- 5. 爲什麼replaceFirst和replaceAll會給出不同的結果?
- 6. 爲什麼getResource會給出不同的結果?
- 7. 爲什麼「Uniroot」命令會給出不同的結果
- 8. 爲什麼這些MySQL查詢會給出不同的結果?
- 9. 爲什麼Perl和/ bin/sha1會給出不同的結果?
- 10. 爲什麼CodeIgniter Active Record和phpMyAdmin會給出不同的結果?
- 11. 爲什麼xgboost.cv和sklearn.cross_val_score會給出不同的結果?
- 12. 爲什麼不通過Console.log結果?
- 13. 爲什麼在分配給變量時,moment.js會給出不同的結果?
- 14. 爲什麼__len __()給出s = []和s = [[]]的不同輸出結果?
- 15. 爲什麼「溢出」屬性給出不同的結果?
- 16. Perl:爲什麼for和foreach會給我不同的結果?
- 17. 爲什麼$(document).height()與$(document.body).height()不同?
- 18. 爲什麼traceview會給出不一致的測量結果?
- 19. 爲什麼MatLab的imread()和R的readPNG()會給出不同的結果?
- 20. 爲什麼Rails to_json給出的結果與Ruby to_json不同?
- 21. 爲什麼sin(45)和cos(45)給出不同的結果?
- 22. 爲什麼transform_reduce給出的結果與transform&reduce不同?
- 23. 這兩個簡單的代碼爲什麼會給出不同的結果?
- 24. 爲什麼Z3中的運算符'/'和'div'會給出不同的結果?
- 25. 爲什麼斯坦福CoreNLP的兩個演示會給出不同的結果?
- 26. 爲什麼這兩個高(64bx64b)函數會給出不同的結果?
- 27. 這個方法爲什麼會給出兩個不同的結果?
- 28. 爲什麼document.body不是HTMLBodyElement?
- 29. 爲什麼不同的名字給了我不同的結果?
- 30. 爲什麼strtotime在不同的時區給出不同的結果?
你是什麼意思「身體的財產」?你認爲'typeof document.body'會是什麼? – nnnnnn
對於這兩種情況的對象,它向我展示了諸如innerHTML,baseURL等的東西,而不是通常的DOM樹 – Roy
沒有關於控制檯應該做什麼的規範,所以您看到的是瀏覽器開發人員認爲是有用的。如果您想查看內容,請使用* innerHTML *屬性。 – RobG