问题很简单但令我感到困惑的是,当我的console.log(document.body)或(document.head)都工作正常但是当我使用document.script或document.html这两个不起作用时为什么?虽然所有这些都在文件中?
Q2)我可以写
document.getElementById('something')
但为什么我不能写
document.body.getElementById('something')
虽然body也在body标签的文档和元素中,但有时document.body在脚本的不同阶段工作
答案 0 :(得分:6)
getElementById
是document
上的一个方法,它是一个使用DOM中Document
接口的对象。它不是元素上的方法(来自DOM的Element
接口及其专门化来自HTML的HTMLElement
接口)。 document.body
是一个元素(HTMLBodyElement
,它是HTMLElement
,是Element
),而不是文档。
某些方法(例如querySelector
)是 document
和元素的方法,因为它们是有意义的(在element,querySelector
只在元素中查找,而不是在整个文档中查找。但getElementById
不是。youtube-dl --extract-audio --id <link to video>
。 (可能是这样,但是当ID在整个文档中都是唯一的时,将它范围限定为一个元素会有点奇怪。)