摸鱼不如来了解一下--DOM文档对象模型(事件)

简介: 事件事件三要素事件元-->触发事件的对象(谁触发)事件类型-->如何触发事件(如:鼠标点击、鼠标经过、键盘按下)

事件


事件三要素

事件元-->触发事件的对象(谁触发)

事件类型-->如何触发事件(如:鼠标点击、鼠标经过、键盘按下)

网络异常,图片无法展示
|


事件处理程序-->通过一个函数赋值的方式完成

执行事件的三个步骤

1、获取事件源

2、注册事件(绑定事件)   --> 事件源.触发方式

3、添加事件处理程序(采取函数赋值的形式)

网络异常,图片无法展示
|


DOM操作元素

我们可以利用DOM操作元素来改变元素里面的内容、样式等

两个修改元素内容的属性

1、element.innerText(非标准)

选中从起始位置到终止位置的内容,但是他会除去HTML标签,同时空格和换行也会去掉

网络异常,图片无法展示
|


利用DOM操作元素也可以不用添加事件,直接令element.innerText等于想要的修改即可

网络异常,图片无法展示
|


2、element.innerHTML(w3c推荐)

选中从起始位置到终止位置的全部内容,包括HTML标签,同时保留空格和换行

区别:element.innerText不能识别HTML标签,element.innerHTML能够识别HTML标签

网络异常,图片无法展示
|


网络异常,图片无法展示
|


网络异常,图片无法展示
|

操作元素属性(元素本身自带属性)-->element.属性名 = '值'(要先获取元素element才能使用)

网络异常,图片无法展示
|


表单元素的属性操作

element.innerHTML只适用于普通的标签;要修改表单里面的文字属性,要使用input.value

其他属性:type, checked, selected, disabled

网络异常,图片无法展示
|


两个表单事件

●   获得焦点input.onfocus

●   失去焦点input.onblur

DOM操作样式属性(大小,颜色,位置)

element.style行内样式操作,通常在样式较少、功能简单的情况下使用(如element.style.backgroundColor = 'pink';)

产生的是行内样式,权重比较高(通过在页面检查元素可以发现在标签内部生成了行内样式)


element.className类名样式操作,适合于样式较多、功能复杂的情况

●   1.先在css中通过类选择器声明好样式,但是元素并不调用

●   2.在js中通过事件设置element.className = '类名',使元素引用声明好的类选择器下的样式

●   通过在页面检查元素可发现在标签内部更改了类名,并且会覆盖掉标签原有的类名;若想保留原有的类名,可以设置为element.className = '原类名  新类名'

●   注意:js里面的样式设置要用驼峰命名法,如backgroundColor, fontSize

排他思想算法

有同一组元素,我想要其中某一个元素通过事件实现某种样式,就要用到排他思想

●   1.所有元素清除样式(干掉其他人)(常用for循环)

●   2.给目标元素设置样式(留下我自己)

自定义属性

获取自定义属性值-->element.getAttribute('属性名')

●   我们自己添加的属性就是自定义属性

设置属性值

●   element.属性名 = '值'

●   该方法不能获取自定义属性

●   element.setAttribute('属性' , '值')

●   该用法主要针对自定义属性

●   在设置类名时要区别开

●   element.className = ' ';

●   element.setAttribute('class' , '属性名')

●   移除自定义属性

●   element.removeAttribute('属性')

自定义属性目的:为了保存并使用数据;有些数据可以保存到页面而不需要保存到数据库

H5新增

●   H5规定,自定义属性要以data-开头为属性名并且赋值

●   H5新增的获取自定义属性的方法

●   element.dataset.属性名,或者element.dataset['属性值'] (ie11才支持)

●   dataset是一个集合,会获得所有以data-开头的自定义属性 (只能获得以data-开头的自定义属性)

●   注意:

●   当自定义属性为data-属性名时,则可以直接用element.dataset.属性名获取

●   当自定义属性的名字很长,由多个横杠连接如:data-list-name时,则要用驼峰命名法来获取--> element.dataset.listName

目录
相关文章
|
2月前
|
XML 编解码 JavaScript
DOM(文档对象模型)和 BOM(浏览器对象模型)
【10月更文挑战第19天】在前端开发中,理解 DOM(文档对象模型)和 BOM(浏览器对象模型)是至关重要的。它们是 Web 开发的基础,为我们提供了与网页文档和浏览器进行交互的能力。
|
4月前
|
XML JavaScript 测试技术
Web自动化测试框架(基础篇)--HTML页面元素和DOM对象
本文为Web自动化测试入门指南,介绍了HTML页面元素和DOM对象的基础知识,以及如何使用Python中的Selenium WebDriver进行元素定位、操作和等待机制,旨在帮助初学者理解Web自动化测试中的关键概念和操作技巧。
56 1
|
4月前
|
JavaScript 前端开发 API
前端开发者的救赎:揭秘JQ对象与DOM元素的神秘转换术
【8月更文挑战第23天】在Web前端开发领域,jQuery(简称JQ)作为一款流行的JavaScript库,极大简化了HTML文档遍历、事件处理、动画及Ajax交互等操作。理解和掌握jQuery对象与DOM元素间的转换至关重要。
47 0
|
2月前
|
XML JavaScript 数据格式
XML DOM 遍历节点树
XML DOM 遍历节点树
|
2月前
|
JavaScript
DOM 节点列表长度(Node List Length)
DOM 节点列表长度(Node List Length)
|
2月前
|
JavaScript
HTML DOM 节点树
HTML DOM 节点是指在 HTML 文档对象模型中,文档中的所有内容都被视为节点。整个文档是一个文档节点,每个 HTML 元素是元素节点,元素内的文本是文本节点,属性是属性节点,注释是注释节点。DOM 将文档表示为节点树,节点之间有父子和同胞关系。
|
2月前
|
JavaScript
HTML DOM 节点
HTML DOM(文档对象模型)将HTML文档视为节点树,其中每个部分都是节点:文档本身是文档节点,HTML元素是元素节点,元素内的文本是文本节点,属性是属性节点,注释是注释节点。节点间存在父子及同胞关系,形成层次结构。
|
2月前
|
XML JavaScript 数据格式
XML DOM 遍历节点树
XML DOM 遍历节点树
|
2月前
|
JavaScript
DOM 节点列表长度(Node List Length)
DOM 节点列表长度(Node List Length)
|
2月前
|
JavaScript
DOM 节点列表长度(Node List Length)
DOM 节点列表长度(Node List Length)