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函数
[嵌套循环特点] 外层循环转一次,内层循环转一圈 外层循环控制行数,内层循环控制每行元素个数 [做 ...
随机推荐
- JavaWeb知识梳理
目录 JavaWeb Web服务器 技术讲解 Web服务器 Tomcat Http Maven pom.xml Servlet HelloServlet Servlet原理 Mapping Servl ...
- PyQt(Python+Qt)学习随笔:QTableWidgetItem项操作相关的flags、isSelected、checkState方法
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QTableWidget中项操作相关的属性包括是否可用.是否可选中.是否可编辑.是否可复选.是否选中 ...
- 刷题记录:[GWCTF 2019]枯燥的抽奖
目录 刷题记录:[GWCTF 2019]枯燥的抽奖 知识点 php伪随机性 刷题记录:[GWCTF 2019]枯燥的抽奖 题目复现链接:https://buuoj.cn/challenges 参考链接 ...
- Spring Cloud微服务学习笔记
Spring Cloud微服务学习笔记 SOA->Dubbo 微服务架构->Spring Cloud提供了一个一站式的微服务解决方案 第一部分 微服务架构 1 互联网应用架构发展 那些迫使 ...
- Django官方为什么没有标准项目结构
Django官方并没有提供标准的项目结构,于是网上众说纷纭,百花齐放,一千个读者有一千个哈姆雷特.那我们该怎么设计项目结构呢?在回答这个问题之前,先了解一下Django原生的目录和文件都是干嘛的. p ...
- CRT, lucas及其扩展形式
CRT, lucas及其扩展形式 exgcd int exgcd(int a, int b, int &x, int &y) { if (b == 0) return a, x = 1 ...
- 零基础学习python 你该怎么做
本人文科生,回顾自己近 2 年的Python 自学经历,有一些学习心得和避坑经验分享给大家,让大家在学习 Python 的过程中少走一些弯路!减少遇到不必要的学习困难! 首先,最开始最大的困难应该就是 ...
- 漫谈 HTTP 性能优化
本文主要是侧重于 HTTP 的优化,对于 HTTPS 后续文章会讲. 既然要做性能优化,那么,我们就需要知道:什么是性能?它都有哪些指标,又应该如何度量,进而采取哪些手段去优化? "性能&q ...
- 【UnitTest】使用方法
UnitTest安装 pip install unittest 详细教程: https://www.cnblogs.com/yufeihlf/p/5707929.html断言: DDT数据驱动: c ...
- Object not found! The requested URL was not found on this server.... 报错解决方案
服务器(centos6.5) lnmp 报错如下 Object not found! The requested URL was not found on this server. The link ...