JavaScript里面的DOM和BOM

一、DOMBOM是什么

JavaScript的组成

ECMAScript

js的基本语法

DOM

Document Object Model 文档对象模型

 

DOM就是指js当中用来操作HTMLXMLAPI

 

文档:就是指页面,在现阶段就指html文档

 

文档的组成:

节点:

标签(元素)节点、属性节点、文本节点、注释节点

BOM

Browser Object Model 浏览器对象模型

 

BOM就是指js当中用来操作浏览器部分功能的API

 

二、DOM可以做什么

1 可以向页面上添加元素(属性、文本)  --  

2 可以动态的把页面上的元素删除 --  

3 可以修改页面上的元素(属性、文本) --  

4 可以查找到页面上的元素 --  

 

操控页面元素、进行增删改查

三、DOM的相关概念

2.1  DOM级别

DOM0    DOM的初级阶段

js在浏览器中最初的获取页面元素的方式

例:

document.froms[0] 获取页面上的第一个from元素

document.images[0] 获取页面上的第一人图片元素

DOM1   中级阶段

w3c为了统一标准,规定了节点类型,使不同的浏览器使用相同的方法,当前用的最多

例:

document.getElementById() 根据元素的id属性获元素

DOM2DOM3

各自在之前标准的基础上新增一些新的内容,但是当前浏览器对DOM2DOM3的支持还不够完善,知道有这么个东西就行

 

2.2 文档树

 

 

树形结构里面,每一个元素,都称之为一个节点

2.3节点(node

 

节点:

树形结构里面的成员,都称之为节点

节点的类型:

标签(元素)节点 ---    页面上的元素 ---    1

属性节点 ---    标签的属性 ---    2

文本节点(空格、回车、文本)  -- 文本节点 ---    3

注释节点 ---    就是页面中被注释掉的内容 ---    8

四、获取页面上的元素

4.1 根据元素的Id属性获取元素

document.getElementById(目标元素的id)

 

4.2 根据元素的标签名获取元素

document.getElementsByTagName(目标元素的标签名)

 

 

这个方式获取到的是一个类似数组的东西,如果要注册事件,必须把里面的元素对象取出来才能注册

4.3 根据元素的类名获取元素

document.getElementsByClassName(类名);

 

 

得到的也是多个元素对象的集合

 

存在兼容问题:

ie9以下不支持

五、DOM对象的属性

5.1 一般

一般来说,访问每一个标签对象的属性,是和在html中的标签的属性名是一样

比如:idhrefwidthheight

5.2 特殊

有一些比较特殊:比如class,在es5里是保留字,为了区别开来,使用className来带替htmlclass属性

再比如:

表单控件里的那些只有两个情况的属性:checkedselected这些都是使用布尔类型来设置选中与否

六、事件(Event)

6.1 什么是事件

所谓事件,其实就是浏览器当中所发生的的特定交互瞬间 ---  点击某个元素、鼠标移动到某个元素上面

 

事件分为

触发

就是用户或者浏览器去触发一个事件

响应

就是执行某个函数

6.2 事件三要素

谁 事件源 页面的元素

 

做了什么 事件名称 交互的名称

 

怎么做的 处理函数(程序) 一段代码

6.3 注册(绑定)事件

行内式

写在标签的特定属性里

 

内嵌式

on的方式

事件源.on+事件名称 = 函数

 

addEventListener的方式

事件源.addEventListener(事件名称,事件处理程序,false)

 

兼容:

早期的火狐和ie6,7,8不支持

attachEvent的用法

事件源.attachEvent(on+事件名称,事件的处理程序)

 

兼容

早期的火狐和ie6,7,8支持

外联式

把写在script标签里的代码,转移到js文件中

 

6.4 常用的事件

onclick

鼠标单击

ondblclick

鼠标双击

onkeydown

按下键盘上的一个按键时触发

onkeyup

松开键盘上的一个按键时触发

onchange

文本内容或下拉菜单中的选项发生改变

onfocus

获得焦点,表示文本框等获得鼠标光标

onblur

失去焦点,表示文本框等失去鼠标光标

onmouseover

鼠标悬停

onmouseout

鼠标移出

onload

文档加载完成

onunload

关闭网页时触发

onsubmit

表单提交事件

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值