Javascript——DOM详细

DOM简介:

文档对象(Document Object Model,简称DOM),是WC组织推荐的处理可扩展标记语言(HTML或者XML)的标准编程接口,W3C已经定义了一系列的DOM接口,通过这些DOM接口可以改变网页的内容、结构和样式。

DOM树:

在这里插入图片描述
文档:一个页面就是一个文档,DOM中使用document表示
元素:页面中所有的标签都是元素,DOM中使用element表示
节点:网页中所有的内容都是节点(标签、属性、文本、注释等),DOM中使用node表示
在DOM中上面的内容都看做是对象。

目录

获取元素

事件基础

操作元素

节点操作

DOM事件流

事件对象

事件委托(代理、委派)

常用鼠标事件

常用键盘事件


获取元素

获取页面元素的方式:
1、根据ID获取

var element = document.getElementById(id);

element是一个Element对象,如果当前文档中拥有特定ID的元素不存在则返回null
id是区分大小写的字符串,代表所要查找的元素的唯一ID
返回第一个匹配到 ID 的 DOM Element对象,如果当前 Document 下没有找到则返回null

2、根据标签名获取

var element = document.getElementsByTagName('标签名');

他所返回的是带有指定标签名的对象集合
注意:因为得到的是一个对象的集合,所以我们要想操作里面的元素就需要遍历对象(for循环),得到的元素对象是动态的

3、通过HTML5新增的方法获取

var element = document.getElementsByClassName('类名');

根据类名返回元素对象集合

var element = document.querySelector('选择器');

根据指定选择器返回第一个元素对象

var element = document.querySelectorAll('选择器');

根据指定选择器返回所有元素对象

获取特殊元素(body,html)
获取body元素

document.body
//返回body元素对象

获取html元素

document.documentElement
//返回html元素对象

事件基础

事件是一些可以通过脚本响应的页面动作,当用户按下鼠标、键盘,或者在页面上移动鼠标时,事件就会出现。简单来说就是触发…响应机制。

执行事件的步骤:
1、获取事件源
2、注册事件(绑定事件)
3、添加事件处理程序(采取函数赋值的形式)

Javascript中常用的事件:
事件 说明

鼠标

键盘

事件

onclick 鼠标单击时触发此事件
ondblclick 鼠标双击时触发此事件
onmousedown 按下鼠标时触发此事件
onmouseup 鼠标按下后松开鼠标时触发此事件
onmouseover 当鼠标移动到某对象范围的上方时触发此事件
onmousemove 鼠标移动时触发此事件
onmouseout 当鼠标离开某对象范围时触发此事件
onkeypress 当键盘上的某个键被按下并且释放时触发此事件
onkeydown 当键盘上的某个按键被按下时触发此事件
onkeyup 当键盘上的某个按键被按下后松开时触发此事件

页面

相关

事件

onabort 图片在下载时被用户中断时触发此事件
onbeforeunload 当前页面的内容将要被改变时触发此事件
onerror 出现错误时触发此事件
onload 页面内容完成时触发此事件(页面加载事件)
onresize 当浏览器的窗口大小被改变时触发此事件
onunload 当前页面将被改变时触发此事件

表单

相关

事件

onblur 当前元素失去焦点时触发此事件
onchange 当前元素失去焦点并且元素内容发生改变时触发此事件
onfocus 当某个元素获得焦点时触发此事件
onreset 当表单中RESET的属性被激活时触发此事件
onsubmit 一个表单被提交时触发此事件

滚动

字幕

事件

onbounce 在Marquee内的内容移动至Marquee显示范围之外时触发此事件
onfinish 当Marquee元素完成需要显示的内容后触发此事件
onstart 当Marquee元素开始显示内容时触发此事件

编辑

事件

onbeforecopy 当页面当前被选择内容将要复制到浏览者系统的剪贴板前触发此事件
onbeforecut 当页面中的一部分或全部内容将要被剪切到浏览者系统剪贴板时触发此事件
onbeforeeditfocus 当前元素将要进入编辑状态时触发此事件
onbeforepaste 将内容要从浏览者的系统剪贴板中粘贴到页面上时触发此事件
onbeforeupdate 当浏览者粘贴系统剪贴板中的内容时通知目标对象
oncontextmenu 当浏览者按下鼠标右键出现菜单时或者通过键盘的按键触发页面菜单时触发此事件
oncopy 当页面当前的被选择内容被复制后触发此事件
oncut 当页面当前的被选择内容被剪贴时触发此事件
ondrag 当某个对象被拖动时触发此事件(活动事件)
ondragend 当鼠标拖动结束时触发此事件,即鼠标的按钮被释放时
ondragenter 当对象被鼠标拖动进入其容器范围内时触发此事件
ondragleave 当对象被鼠标拖动的对象离开其容器范围内时触发此事件
ondragover 当被拖动的对象在另一对象容器范围内拖动时触发此事件
ondragstart 当某对象被拖动时触发此事件
ondrop 在一个拖动过程中,释放鼠标键时触发此事件
onlosecapture 当元素失去鼠标移动所形成的选择焦点时触发此事件
onpaste 当内容粘贴时触发此事件
onselect 当文本内容被选择时触发此事件
onselectstart 当文本内容的选择将开始发生时触发此事件

数据

绑定

事件

onafterupdate 当数据完成由数据源到对象的传送时触发此事件
oncellchange 当数据来源发生变化时触发此事件
ondataavai
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值