js 中的 DOM 和 BOM
BOM浏览器对象模型
概念:Browser Object Model
组成:
Window:浏览器窗口对象
Navigator:浏览器对象
screen:显示器屏幕对象
History:历史记录对象
Location:地址栏对象
Window:浏览器窗口对象
1.创建
不用创建,直接使用Window对象中的属性和方法
2.方法的使用
与弹出框有关的方法
alert() :显示带有一段消息和确认按钮的警告框。
confirm() :重点关注 显示带有一段消息以及确认按钮!取消按钮的对话框。
如果点击确认,那么该方法返回一个true值;如果点击取消,那么该方法返回一个false值prompt():显示可提示用户输入的对话框。
如果点击确认,那么该方法返回输入框中输入的值;如果点击取消,那么该方法就不返回输入框输入的值与打开与关闭浏览器窗口的方法
close() :关闭浏览器窗口。
open():打开一个新的浏览器窗口或查找一个己命名的窗口。
与定时器相关的方法
- setlnterval()按照指定的周期(以毫秒计)来调用函数或计算表达式。
setTimeout()在指定的毫秒数后调用函数或计算表达式。
clearInterval()取消由setInterval()设置的 timeout。
clearTimeout()取消由setTimeout()方法设置的timeout。
3.属性的使用
1.获取其他的BOM对象
- history
- location
- Navigator
- Screen
2.获取DOM对象
- document:文档对象
4.对象的特点
window对象不需要创建,直接使用,window.属性名/方法名,前面的window还可以省略不写
可以通过window对象获取其他的BOM对象和DOM对象
Location地址栏对象
Location对象包含有关当前URL的信息。
1.创建:通过window对象来获取 window.location,前面的window可以省略不写
⒉属性:href设置或返回完整的URL。
3.方法:
1. reload0重新加载当前文档。刷新动作
2. replace():用新的文档替换当前文档。
History历史记录对象
1.创建:通过window对象来换器历史记录对象 window.history,前面的window可以省略不写
2.方法:
forward()加载history列表中的下一个 URL。
back()加载 history 列表中的前一个URL。
go()加载 history列表中的某个具体页面。
3.属性
length返回浏览器历史列表中的URL数量。
DOM对象
Document---文档对象
Element---元素对象
Attribute----属性对象
Text----文本对象
Comment---注释对象- Node----节点对象
XML DOM内容--针对XML文档的标准模型
HTML DOM-针对HTML文档的标准模型
Document文档对象
1.创建
通过window对象获取文档对象 window.document, windom可以省略不写。
2.方法
- 通过Element元素对象:
1.getElementById()通过id名称获取id名称对应的元素对象。ID属性值一般唯一
2.getElementByTagName()通过标签名称获取对应的元素对象。返回的是一个对象数组
3.getElementsByClassName() 通过class属性值获取对应的元素对象数组
4.getElementsByName() 通过name属性值换器对应的元素对象。返回的是一个对象数组
- 创建其他DOM对象
1.createComment() 创建注释节点。
2.createElement()创建元素节点。
3.createTextNode()创建文本节点。
4.createAttribute(name)创建拥有指定名称的属性节点,并返回新的Attry对象。
3.属性
title 返回当前文档的标题。
URL 返回当前文档的 URL。
4.特点
Comment注释对象
Element元素对象
1.创建
有两种方式创建
- 通过文档document的获取元素对象的方法来获取元素对象
- 通过document.createElement() 来创建元素对象
2.方法
3.属性
4.特点
Node节点对象
节点对象可以是元素节点,属性节点,文本节点,任何节点都有父节点和子节点,但是文本节点没有子节点
方法:
CRUD操作 添加节点 删除节点 查找节点 修改节点(替换节点)
- 添加节点 appendChild() 向父节点中添加子节点
- 删除节点 removeChild() 从父节点中删除子节点
- 替换节点 replaceChild() 用一个新节点替换原来的节点
属性:
parentNode:获取子节点的父节点
childNodes: 获取父节点的所有的子节点
firstChild:获取父节点中的第一个子节点
lastChild: 获取父节点中的最后一个子节点
Event 事件对象
概念:某些组件被执行了一些操作,会触发一些功能效果。
事件有几个因素:
事件:某些操作(功能、方法)。如 点击、双击、键盘按下、键盘弹起.......
事件源:组件 被操作的对象 元素/标签 输入框、超链接、按钮.....
监听器:Listener Filter Servlet(服务中间件,桥梁) HTML CSS JS,执行事件的代码
注册监听:将事件、事件源、监听器三者绑定到一起。当事件源上发生了某个事件,则会触发执行某个监听器代码。
常见的事件:
- 点击事件
点击事件: onclick
双击事件: ondblclick
- 焦点事件
获取焦点: onfocus
失去焦点 onblur
加载事件
onload 一个页面或者一张图像完成加载
鼠标事件
鼠标按键按下: onmousedown
鼠标按键松开: onmouseup
鼠标离开: onmouseout
鼠标移动: onmousemove
鼠标悬浮到某元素上:onmouseover
- 键盘事件
键盘按下: onkeydown
键盘松开: onkeyup
键盘按下并松开: onkeypress
- 表单事件
表单提交:onsubmit
表单重置:onreset
- 选择和改变事件
onchange 文本内容发生改变触发
onselect 文本被选中触发
HTML DOM 标签对象
标签体内容获取和设置 属性: innerHTML(可以插入文本内容和标签以及组合标签) innerText(插入文本内容)
使用html标签对象拥有的属性
通过标签对象更改标签的样式: style 通过style属性设置css样式
div.style.border = "1px solid black";
div.style.background = "red";
div.style.backgroundImage = "url(图像路径)"
一般不推荐 使用css代码提前设置
通过className属性给该标签设置对应的class值
js 中的 DOM 和 BOM的更多相关文章
- JS中的DOM与BOM
javascript组成: 1. ECMAScript 基本语法. 2. BOM (浏览器对象模型) 3. DOM (文档对象模型) 一)BOM(borwser Object Model) 浏览器对 ...
- JS中的函数、Bom、DOM及JS事件
本期博主给大家带来JS的函数.Bom.DOM操作,以及JS各种常用的数据类型的相关知识,同时,这也是JavaScript极其重要的部分,博主将详细介绍各种属性的用法和方法. 一.JS中的函数 [函数的 ...
- JS中的函数、BOM和DOM操作
一.JS中的函数 [关于注释] /** [文档注释]:开头两个*.写在函数上方,在调用函数时可以看到文档上方的描述信息. */ // 单行注释 /* 多行注释 */ 1.函数的声明及调用 (1) ...
- 前端(十六)—— JavaScript盒子模型、JS动画、DOM、BOM
JS盒子模型.JS动画.DOM.BOM 一.JS盒模型 1.width | height parseInt(getComputedStyle(ele, null).getPropertyValue(' ...
- js中的DOM操作汇总
一.DOM创建 DOM节点(Node)通常对应于一个标签,一个文本,或者一个HTML属性.DOM节点有一个nodeType属性用来表示当前元素的类型,它是一个整数: Element,元素 Attrib ...
- js中的DOM对象 和 jQuery对象 比较
一,二者的区别 通过 jQuery 获取的元素是一个数组,数组中包含着原生JS中的DOM对象. 总结:jQuery 就是把 DOM 对象重新包装了一下,让其具有了 jQuery 方法. 二,二者的相互 ...
- js中的DOM对象和jQuery对象的比较
1. 二者的不同之处: 通过jQuery获取的元素是一个数组, 数组中包含着原生JS中的DOM对象. 例如, 针对下面的一个div结构: <div id="Box">& ...
- python 全栈开发,Day52(关于DOM操作的相关案例,JS中的面向对象,定时器,BOM,client、offset、scroll系列)
昨日作业讲解: 京东购物车 京东购物车效果: 实现原理: 用2个盒子,就可以完整效果. 先让上面的小盒子向下移动1px,此时就出现了压盖效果.小盒子设置z-index压盖大盒子,将小盒子的下边框去掉, ...
- JS中的循环嵌套 BOM函数
[嵌套循环特点] 外层循环转一次,内层循环转一圈 外层循环控制行数,内层循环控制每行元素个数 [做 ...
随机推荐
- 老猿学5G专栏完结说明
老猿学5G是因为工作原因促成的,主要目的是为了研究5G的计费架构相关内容,到今天为止,基本上达成目标,因此这个专栏基本上告一段落了. 回想这2个多月的日子,从一个对5G相关知识完全不熟悉的小白,到现在 ...
- 第15.3节 PyCharm程序调试功能介绍
一. 代码调试 点击工具栏的调试按钮(如下图蓝色圈标记按钮)可以进行程序调试,可以在调试前先设置断点,断点设置就是在打开文件的行与前面的行号之间用鼠标单击进行设置和取消(如下图蓝色下划线上面的实体圆点 ...
- PyQt(Python+Qt)学习随笔:Qt Designer中主窗口对象的iconSize属性
主窗口对象的iconSize属性保存的是主窗口中工具栏的图标尺寸,在没有设置时缺省是GUI图形界面样式中定义的工具栏的缺省大小. 注意:这个大小是工具栏图标的最小尺寸. 可以使用iconSize()返 ...
- PyQt(Python+Qt)学习随笔:gridLayout的layoutHorizontalSpacing和layoutVerticalSpacing属性
layoutHorizontalSpacing和layoutVerticalSpacing属性在Qt Designer中是网格布局(gridLayout)和表单布局(formLayout)都有的属性, ...
- 【Docker】 .Net Core 3.1 webapi 集成EF Code First,使用MySql进行业务操作 、配置swagger (三)
系列目录: [Docker] CentOS7 安装 Docker 及其使用方法 ( 一 ) [Docker] 使用Docker 在阿里云 Centos7 部署 MySQL 和 Redis (二) [D ...
- 开源版本Visifire的应用
Visifire曾经开源,保持使用开源版本是不会有版权问题滴. 引用的命名控件 using Visifire.Charts; using Visifire.Commons; 一.应用示例主要代码 // ...
- jquery.sticky 粘性滚动插件使用
一个jQuery插件,使你能够做任何元素在您的网页上总是可见的,可以作为顶部固定导航显示插件. 官网地址:http://stickyjs.com/ github:https://github.com/ ...
- chrome打开Axure Rp导出的html文件提示需要安装Axure Rp插件解决办法
1.确保chrome安装了Axure Rp扩展插件,如果按照页面的提示去下载,但是打不开的话就是被墙了,贴上科学的上网梯子https://www.lanzous.com/i7i0wuh,直接下载打开就 ...
- 题解-CF1307G Cow and Exercise
CF1307G Cow and Exercise 给 \(n\) 点 \(m\) 边的带权有向图,边 \(i\) 为 \((u_i,v_i,w_i)\).\(q\) 次询问,每次给 \(x_i\),问 ...
- (原创)docker18.03的安装
简要说明:docker的安装,官方主要是分为 1.在线yum命令安装: 2.离线安装: 3.安装指定的版本. 备注:官方的安装考虑的是全球区域,说白了就是大陆有一些不能照搬.所以这篇文章我是自己考虑实 ...