JS的BOM DOM讲解

知识点-JS的BOM

1.⽬标

  掌握BOM中常⽤的API

2.路径

  1. BOM介绍

  2. BOM⾥⾯的五个对象

3.讲解
3.1概述
Browser Object Model ,浏览器对象模型. 为了便于对浏览器的操作,JavaScript封装了对浏览器中各个对象,使得开发者可以⽅便的操作浏览器中的各个对象。

74f9766504c84084b61726ed863fd1c2.jpg

 3.2.BOM⾥⾯的五个对象

3.2.1window: 窗体对象

cc8af6cd19e94d20b0cb471515576ec4.jpg

0d3cfc623c2744248ae24772f3ea9e96.jpg 

c1f20a29d3fa489481a05911f63e5441.jpg 

 3.2.2,navigator:浏览器导航对象【了解】  

 4cfc1eebb26f4bb09db7cfc7f5d7bd3e.jpg

 3.2.3,screen:屏幕对象【了解】

ac38f2a97b504d55b798bf5c5995bec1.jpg

 3.2.4,history:历史对象【了解】

e78846a73e2441ed9723b36dff112ac5.jpg

 3.2.5,location:当前路径信息(最重要)

51709315cf44446d99375a1d04ab0846.jpg

 location.href; 获得路径

location.href = "http://www.baidu.com"; 设置路径,跳转到 百度⻚⾯

4.⼩结

1. BOM: 浏览器对象模型, JS⾥⾯封装了五个对象 ⽤来操作浏 览器的

2. window对象

   alert() 弹出警告框

   confirm() 弹出确认框

   prompt() 弹出输⼊框

   setInterval('函数()',时间) 周期执⾏

   setTimeout(''函数()',时间) 延迟执⾏

3. location

   location.href; 获得路径

   location.href=""; 设置路径

 

 

知识点-DOM介绍

⽬标

  了解dom相关的概念

分析

   1. 什么是dom

   2. 什么是dom树

讲解

1. 什么是dom

   DOM:Document Object Model,⽂档对     象模型。是js提 供的,⽤来访问⽹⻚⾥所有     内容的(标签,属性,标签的内容)

2. 什么是dom树

   当⽹⻚被加载时,浏览器会创建⻚⾯的DOM对象。DOM 对象模型是⼀棵树形结构:⽹⻚⾥所有的标签、属性、⽂ 本都会转换成节象,按照层级结构组织成⼀棵树形结 构。

 

  整个⽹⻚封装成的对象叫document

  标签封装成的对象叫Element

  属性封装成的对象叫Attribute

  ⽂本封装成的对象叫Text

1b7a300e624c49ca8e521c8bfc249b3b.jpg

 

⼀切皆节点, ⼀切皆对象

 

⼩结

1. dom: ⽂档对象模型, ⽤来操作⽹⻚

2. dom树: html通过浏览器加载到内存⾥⾯形成了⼀颗dom 树, 我们就可以操作dom树节点(获得节点, 添加节点, 删除 节点)

 

知识点-操作标签

1. ⽬标

   能够使⽤dom操作标签

2. 分析

1. 获取标签

2. 操作标签

3.讲解

3.1. 获取标签

8a30d297dc30498aacf4661ecf434dbf.jpg

36d07e4237fa4b0881ecc674df9dcf75.jpg 

a7acd30e88524e4680ddfbad668d7d1c.jpg 

7471c3284a8d4751a244ef979135eb6a.jpg 

870ac2e53ed1462b9bed5747daf54f8c.jpg 

 3.2. 操作标签

306cf058f0df42b79a5436ef97d80801.jpg

a57c38d7e2864b62b2f9311977eba023.jpg 

10c8bddc8c924799b6870bd5ce0ed35b.jpg 

 4.⼩结

1. 获得标签

  document.getElementById("id”) 根据id获得

  document.getElementsByTagName("标签名") 根据标

   签名获得
  document.getElementsByClassName("类   名") 根据类名获得
2. 操作节点(标签,⽂本)
   document.createElement(tagName) 创建标签Element对象
   document.createTextNode("⽂本") 创建⽂本节点
         parentElement.appendChild(sonElement)    插⼊标签

  element.remove() 删除标签

知识点-操作标签体
1. ⽬标
   掌握操作标签体内容的⽅法
2. 路径
   获取/设置标签体内容
3. 讲解
3.1语法
   获取标签体内容:标签对象.innerHTML

设置标签体内容:标签对象.innerHTML = "新的HTML代 码";

   innerHTML是覆盖式设置,原本的标签体内     容会被覆盖 掉;

   ⽀持标签的 可以插⼊标签, 设置的html代码     会⽣效

3.2示例

06168970aa2c41b088096416fcb1e18d.jpg

 0f1cb1dadaff458c82a15dbc80223395.jpg

 4. ⼩结

1. 获得标签的内容 (⼀并获得标签)

94827fddda304d7fbaed63f32cb58d84.jpg

 2. 设置标签的内容(①会把前⾯的内容覆盖 ②⽀持标签的)

5a5edf68fcd44dd4abd7ac5b68d12d77.jpg

 知识点-操作属性

1. ⽬标

   能够操作HTML标签的属性

2.路径

  1. 使⽤JS操作标签的属性

3. 讲解

  每个标签Element对象提供了操作属性的⽅法

d87847082acf4a7f96ea5d5d30035fae.jpg

d1113123d44d465b82766bf2db9ed038.jpg 

219e12d7f6774700b5cfe0a8df164b91.jpg 

 4.⼩结

1. getAttribute(attrName) 获取属性值

2. setAttribute(attrName, attrValue) 设置属性值

3. removeAttribute(attrName) 删除属性

第四章-JS案例

案例-使⽤JS完成表单的校验

1. 案例需求

119fda0e75ae40a49a25f67c4cb90277.jpg

 ⽤户名输⼊框,电⼦邮箱, ⼿机号码 , 获得焦点的时候给⽤户 提示, 失去焦点进⾏ 校验

⽤户名:只能由英⽂字⺟和数字组成,⻓度为4~16个字

符,并且以英⽂字⺟开头

⼿机号:以1开头, 第⼆位是3,4,5,7,8的11位数字 /^1[34578]\d{9}$/

2.思路分析

1. 给⽤户名输⼊框设置获得焦点事件

40eea82faf704a02b2f11d23980df033.jpg

 2. 创建showTips()函数提示

7d6327286ed842629fa0d759ade017d1.jpg

 3. 给⽤户名输⼊框设置失去焦点事件

bd2b6429693544d381f15bac68ec47f9.jpg

 4. 创建checkUsername()函数

7d92ff1b109c4a819b2e6d0e17f7e09f.jpg

 3.代码实现

c3dd155e48cb4919b8c80937b2f1146a.jpg

20541510986042ccb4a96e5eb526fe61.jpg 

0047417a81b444f08761898e0812acde.jpg 

86f2fd4d10544ba390d8f7d1795a2bcc.jpg 

e6dd38f69b664e16a5eb6c62324c8a5f.jpg 

7f57cba916bd462db361c5140f1d0f70.jpg 

 4,⼩结

1. 获得和失去焦点

2. 函数

3. 操作标签体

4. 获得标签, 获得标签的value

案例-使⽤JS完成图⽚轮播效果

1.需求分析

ea7594dda0c94ec881b13cbe0bb2e4f8.jpg

  实现每过3秒中切换⼀张图⽚的效果,⼀共3    张图⽚,当显 示到最后1张的时候,再次显示    第1张。

2.思路分析

1. 创建定时任务

88780d29256d44038185b062028380c2.jpg

 3.代码实现

1c285b7ee8f6490ba87100ee7a81883a.jpg

 36a4db19dcd94903b1886b5ee1ee73f1.jpg

 4.⼩结

1. 定时任务

465629f50d704548a8a3da0cffe13b15.jpg

 2. 操作属性

7cda373d2dc047408ae3be3856198058.jpg

 案例-JS控制⼆级联动

1.需求分析

4b65646dfc304b59b654385ca96f95b7.jpg

 在注册⻚⾯添加籍贯,左边是省份的下拉列表,右边是城市的 下拉列表.右边的select根据左边的改变⽽更新数据

2.思路分析

1. 创建这个⻚⾯ (两个select)

2. 给省份的select设置onchange事件

3. 当省份改变的时候

06d015c350644ed284dee4765a6ba54d.jpg

 3.代码实现

345c4843a9c349a0b594a1a0c0602b91.jpg

ba6722ab3961482aad401753418047e3.jpg 

0acfefc7bf73469aa73fa07e671f3187.jpg 

 4.⼩结

1. 内容改变事件

2. ⼆维数组

3. innerHTML

   会把前⾯的内容覆盖掉

   ⽀持标签的

4. dom

   ⽗节点.appendChild(⼦节点)

   document.createElement()

   document.createTextNode()

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值