【JavaScript 8—基础知识点】:DOM
一、总体概述
1.1,什么是DOM
DOM(Document Object Model):D(文档):整个web加载的网页文档;O(对象):类似于window对象之类的东西,可以调用属性和方法,在这里特指document对象;M(模型):网页文档的树型结构(节点树)。
所以:W3C 文档对象模型 (DOM) 是中立于平台和语言的接口,它允许程序和脚本动态地访问和更新文档的内容、结构和样式。更多了解
1.2,节点树(M)
说明:从这个树型结构可以看出,DOM主要是对HTML的内部内容和结构进行一系列操作。
1.3,总体概况
说明:因为DOM是对文档内容、样式和结构的操作,所以,总结说来,DOM操作,是对各个节点的一系列操作。而,要想操作这些节点,那么就得找到相对应的节点,所以,我认为DOM操作的基础就是查找节点,然后就是节点操作。节点操作可以包括有:增添,移除,替换等,还包括其对于节点内部的操作,这里也就是进一步的操作,比如说对于节点内文本的操作等。最后还有一点,就是可以设置获取文档的尺寸和位置,这些,我认为都是一些样式的操作了。
二、细节探究
DOM在处理元素尺寸和位置的时候,有三个不同的方式:CSS大小、实际大小、周边大小。
2.1,CSS大小
首先:通过style获取到的是已设置的大小。如<div id="box" style="background:red;width:200px;height:200px;">测试Div</div>,获取到的就是200px,200px。
其次:获取计算后的大小,则是获取link和style标签里设置的大小。
最后:通过CSSRules获取大小,则是获取在CSS样式表中设置的大小。
注:这三种方法,都无法获取实际大小。
2.2,实际大小
在获取实际大小时,分为增添样式,添加滚动条,可视区大小。这三个方式的理解方式不同,如下:
三、BOM和DOM
总体说来,BOM和DOM是一种包含和被包含的关系。BOM是浏览器对象模型,DOM是文档对象模型。他们之间的关系,可以用下图表示:
BOM的主要对象是window对象,DOM则是在window对象下document对象下继承而来的。而根据自己的理解,BOM和DOM的关系,就好像了高楼的设计图,和房间的设计图一样。BOM主要着手的是整个浏览器页面,也就是window对象的操作,而DOM则主要着手的是在这个window页面里面的东西的一系列操作。
四、个人感受
又是一个知识点的总结,有时候真的感觉做这样的事儿很无聊,但每次总结完,又有一种充实的感觉。这也大概就是总结的力量吧!
【JavaScript 8—基础知识点】:DOM的更多相关文章
- JavaScript语言基础知识点图示(转)
一位牛人归纳的JavaScript 语言基础知识点图示. 1.JavaScript 数据类型 2.JavaScript 变量 3.Javascript 运算符 4.JavaScript 数组 5.Ja ...
- JavaScript语言基础知识点图示
原文:JavaScript语言基础知识点图示 一位牛人归纳的JavaScript 语言基础知识点图示. 1.JavaScript 数据类型 2.JavaScript 变量 3.Javascript 运 ...
- JavaScript 语言基础知识点总结
网上找到的一份JavaScript 语言基础知识点总结,还不错,挺全面的. (来自:http://t.cn/zjbXMmi @刘巍峰 分享 )
- JavaScript 语言基础知识点总结(思维导图)
JavaScript 数组 JavaScript 函数基础 Javascript 运算符 JavaScript 流程控制 JavaScript 正则表达式 JavaScript 字符串函数 JavaS ...
- 一套最全的JavaScript 语言基础知识点总结(思维导图10张)
1.DOM基础操作 2.数组基础 3.函数基础 4.运算符 5.流程控制语句 6.正则表达式 7.字符串函数 8.数据类型 9.变量 10.window对象
- 【JavaScript 7—基础知识点】:BOM
一.基础知识 1.1,什么是BOM BOM(browser object model):也叫浏览器对象模型,它提供了很多对象,用于访问浏览器的功能.BOM缺少规范,每个浏览器提供商又按照自己想法去扩展 ...
- 【JavaScript 4—基础知识点】:函数
导读:函数这个东西,从VB开始就一直在用,不过那时候一般写不出来自己的函数或者类,觉得最高大上的,就是调用API函数了.现在,学习到了JavaScript,总结总结函数,显得很有必要.这篇文章,就从最 ...
- 【JavaScript 1—基础知识点】:宏观概述
导读:JavaScript是一门新的(也可以说是旧的或者半新语言),里面有很多的知识点都能和已有的知识产生共鸣.但是,虽然简单,相同点也有很多,也有不同点.我脑袋也不好使,所以对于我来说,还是有必要再 ...
- javascript的基础知识点
一:鼠标提示框 需求描述:鼠标移入都input上,div显示,移出,div消失 分析:控制display=block/none 鼠标移入,鼠标移出事件 <input type="bu ...
随机推荐
- python经典一百道习题(转自奶酪博客)
无论学习哪门计算机语言,只要把100例中绝大部分题目都做一遍,就基本掌握该语言的语法了. [程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? #Filena ...
- Genymotion的安装与设置
Genymotion是一款非常好用的虚拟机,利用它可以在window.Liunx或MAC系统上实现Android的模似器.对于开发人员来说,有了Android模似器,就可以在电脑上实时调试安卓app, ...
- freebsd安装ports
/etc/portsnap.conf 里面更改 SERVERNAME=portsnap.hshh.org portsnap的命令比较少 fetch 获取数据 extract 释放全部ports upd ...
- Flask应用运行流程
当我们运行项目后,Flask内部都经历了什么 1.app.run()启动项目,ctrl点进源码 app.py: 1)执行了run_simple() 2)注意第三个参数,这里是Flask实例化的对象,在 ...
- leecode 旋转数组
描述 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数. 示例 1: 输入: [1,2,3,4,5,6,7] 和 k = 3 输出: [5,6,7,1,2,3,4] 解释: 向右旋 ...
- 迅为10.1寸人机界面工业HMI安卓电容屏定制生产供应商
10.1寸人机界面介绍: 配置铁电存储器:非易失性记忆体,掉电后数据不丢失. 连接云端,支持云服务:数据综合管理,更有效率. 静电防护技术:高强度抗干扰,防静电,防电磁干扰. 提供所有接口的调用源码, ...
- 屏蔽系统的Ctrl+c/x/v操作
实现效果: 知识运用: KeyEventArgs类的Control, public bool Control {get;} //获取一个值 该值指示是否曾按下Ctrl键 KeyCode和Handled ...
- C-基础:atoi
C语言库函数名: atoi 功 能: 把字符串转换成整型数. 名字来源:ASCII to integer 的缩写. 原型: int atoi(const char *nptr); 函数说明: 参数np ...
- No-12.函数进阶
函数进阶 目标 函数参数和返回值的作用 函数的返回值 进阶 函数的参数 进阶 递归函数 01. 函数参数和返回值的作用 函数根据 有没有参数 以及 有没有返回值,可以 相互组合,一共有 4 种 组合形 ...
- tomcat假死现象 - 二
1 编写背景 最近服务器发现tomcat的应用会偶尔出现无法访问的情况.经过一段时间的观察最近又发现有台tomcat的应用出现了无法访问情况.简单描述下该台tomcat当时具体的表现:客户端请求没有响 ...