javascript - 文档对象模型

标签 javascript document

问题很简单,但让我感到困惑的是,当我使用 console.log(document.body) 或 (document.head) 时它们都工作正常,但是当我使用 document.script 或 document.html 时,这两个不起作用,为什么?虽然所有这些东西都在文档中?

Q2)我会写

document.getElementById('something')

但是为什么我不会写

document.body.getElementById('something')

虽然 body 在 document 中,元素也在 body 标签中,但有时 document.body 在脚本的不同阶段工作

最佳答案

getElementByIddocument 上的一个方法,它是一个使用 Document 的对象来自DOM的界面。它不是元素上的方法(来自 DOM 的 Element 接口(interface)及其专门化来自 HTML 的 HTMLElement 接口(interface))。 document.body是一个元素(一个HTMLBodyElement,它是一个HTMLElement,它是一个Element),不是一份文件。

有些方法(如 querySelector)是both document 元素的方法,因为它对它们是(在一个元素上,querySelector 只在元素内查找,而不是在整个文档中查找)。但是 getElementById 不是。 (可能是,但是当 ID 在整个文档中是唯一的时,将其范围限定为一个元素会有点奇怪。)

关于javascript - 文档对象模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41725598/

相关文章:

javascript - jQuery - 在可拖动上切换网格

javascript - 从 php 服务读取 HTML 中的变量

mongodb - 使用 MongoDB 中的聚合值更新多个文档

java - 手工构建的 w3c 文档文本节点会导致奇怪的行为

javascript - 单击后无法重置间隔

javascript - 如何中止/停止正在进行的亚马逊 AWS s3 上传

ios - 如何使用QLPreviewController快速显示远程文档

Redmine 上的文档 Mng : Anyone use DMSF plugin or find an easy way to manage docs in the Files tab with a 'wiki' as a front end?

iis-7 - DefaultDocument 突然无法在 IIS7 上运行

javascript - JQuery IE问题