什么是DOM?
DOM 的全称是 Document Object Model,翻译过来就是文档对象模型,它是 W3C 组织规范的处理文档的标准编程接口,XML 和 HTML 都可生成DOM。HTML DOM 定义了所有 HTML 元素的对象和属性,以及访问它们的方法(接口)。换言之,HTML DOM 是关于如何获取、修改、添加或删除 HTML 元素的标准。
DOM 和 JavaScript
浏览器在收到一个 HTML 文档时,会将 HTML 代码生成 DOM,可以理解为 document 对象。通常,我们可能会用 document.getElementById
方法来查询某个元素,这时候我们就是在使用 DOM 提供给我们的 API(应用程序接口)来查询 HTML 元素,而查询操作 DOM 是在 浏览器下的功能。总而言之,DOM 和 JavaScript 没有归属问题,DOM 不属于 JS 的一部分,它们是互为独立的两部分。
JavaScript 和 Context
我们说 操作DOM 只是 JavaScript 的一部分功能,但不能说 操作DOM 就是 JS 的自身拥有的功能。这句话可能有点问题,但它来自于我对 JS 及其 Context 的认知。我们都知道 Node.js,它可以做服务器端,有很多文件系统功能,这些都是我们在浏览器所不具备的,但它也是 JS ,只是 Context 不一样了,一个是在浏览器端一个在服务器端。