DOM 基本操作 - 事件基础


theme: smartblue

一、事件概述

JavaScript使我们有能力创建动态页面,而事件是可以被JavaScript侦测到的行为。

简单理解: 触发---响应机制。

网页中的每个元素都可以产生某些可以触发JavaScript的事件,例如,我们可以在用户点击某按钮时产生一个事件,然后去执行某些操作。

事件由三部分组成: 事件源,事件类型,事件处理程序

```

<script>//点击一个按钮,弹出对话框
//事件是有三部分组成: 事件源、事件类型、事件处理程序,我们也称为事件三要素
//(1)事件源事件被触发的对象谁按钮
var btn = document.getElementById('btn');
//(2)事件类型如何触发什么事件,比如鼠标点击(onclick)还是鼠标经过 还是键盘按下
//(3)事件处理程序通过一个函数赋值的方式完成
btn.onclick= function(){alert("clicked")
}
</script>

```

二、 常见鼠标事件

2024-07-10_22-02-47.png

三、 操作元素

3.1 改变元素内容

element.innerText

从起始位置到终止位置的内容,但它去除 html标签,同时空格和换行也会去掉

element.innerHTML

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

```

<div id="div1"></div>
<div id="div2"></div><script>// 写var div1 = document.querySelector("#div1")var div2 = document.querySelector("#div2")div1.innerText = "<strong>innerText</strong>"div2.innerHTML = "<strong>innerHTML</strong>"// 读console.log(div2.innerText)console.log(div2.innerHTML)</script>

``` innerText和innerHTML的区别

  1. innerText不识别html标签非标准 去除空格和换行
  2. innerHTML 识别html标签 W3C标准 保留空格和换行的

这两个属性是可读写的, 可以获取元素里面的内容

2024-07-10_22-25-31.png

3.2 改变属性内容

1.innerrext、innerHTM 改变元素内容

2.src、href

3.id、alt、title

```

<img src = "./1.jpg">
<button id="btn">change image</button><script>var btn = document.querySelector("#btn")var img = document.querySelector("img")btn.onclick = ()=>{img.src = "./2.jpg"}
</script>

```

3.3 改变表单的属性

利用 DOM 可以操作如下表单元素的属性:

type、value、checked、selected、disabled

```

<input type="text" value="please input">
<button id="change">change value</button>
<button id="disable">change value</button>
<script>// 获取元素var changeBtn =  document.querySelector("#change")var disableBtn =  document.querySelector("#disable")var input =  document.querySelector("input")// 注册事件,处理程序changeBtn.onclick = ()=>{input.value = "changed"}disableBtn.onclick = ()=>{input.disabled = true}
</script>

```

3.4 改变样式属性

我们可以通过JS 修改元素的大小、颜色、位置等样式.

1.element.style行内样式操作

2.element.className 类名样式操作

```

<button id="change">change</button>
<script>// 获取元素var changeBtn =  document.querySelector("#change")var div =  document.querySelector("div")changeBtn.onclick = ()=>{div.style.backgroundColor = 'black'div.style.width = '250px'div.className= 'change div'}
</script><style>div{width: 200px;height: 200px;background-color: red;}div{width: 100px;height: 100px;background-color: yellow;}
</style>

```

注意:

  1. Js 修改 style 样式操作, 产生的是行内样式,css 权重比较高
  2. Js 里面的样式采取驼峰命名法 比如 fontsize、backgroundcolor
  3. className 会直接更改元素的类名,会覆盖原先的类名; 如果想保留原先的类名,可以做多类名选择器

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/44693.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

libvirt qemu添加新类型磁盘格式

目录 前言 1 qemu部分 1.1 磁盘格式驱动创建 1.2 json文件创建数据结构对象&#xff1a; 2 libvirt部分&#xff1a; 2.1 对应关系设置 2.2参设向指令格式转换 前言 qemu中有很多虚拟机磁盘格式&#xff0c;比如较为熟悉的qcow2&#xff0c;luks&#xff0c;r…

C语言文件操作技术详解

C语言提供了一套强大的文件操作API&#xff0c;允许开发者进行文件读写、访问和管理。本文将深入探讨C语言文件操作的背后的技术&#xff0c;包括基本文件操作、文件读写以及文件权限和属性。我们将通过详细的解释和实用的代码案例来展示如何有效地使用这些技术。 第一部分&am…

C++ //练习 14.52 在下面的加法表达式中分别选用了哪个operator+?列出候选函数、可行函数及为每个可行函数的实参执行的类型转换:

C Primer&#xff08;第5版&#xff09; 练习 14.52 练习 14.52 在下面的加法表达式中分别选用了哪个operator&#xff1f;列出候选函数、可行函数及为每个可行函数的实参执行的类型转换&#xff1a; struct LongDouble{//用于演示的成员opeartor&#xff1b;在通常情况下是个…

自动驾驶技术的原理

自动驾驶汽车利用视觉识别功能来感知周围环境并做出驾驶决策。以下是自动驾驶汽车如何利用视觉识别功能及其原理的详细说明&#xff1a; ### 视觉识别在自动驾驶中的应用 1. **目标检测&#xff08;Object Detection&#xff09;**&#xff1a;识别并定位道路上的其他车辆、行人…

【安全设备】EDR

一、什么是EDR EDR即集检测、防御、运维功能于一体的主机安全及管理系统。EDR是一款集成了丰富的系统加固与防护、网络加固与防护等功能的主机安全产品。 二、EDR的部署模式 EDR&#xff08;Endpoint Detection and Response&#xff0c;端点检测和响应&#xff09;的部署方…

开源项目编译harbor arm架构的包 —— 筑梦之路

GitHub - amy5200/harbor-arm64 先做个记录&#xff0c;空了再验证

矩阵分解及其在机器学习中的应用

阵分解是一种广泛应用于数据挖掘和机器学习领域的技术&#xff0c;它通过将一个高维数据集分解为多个低维的数据集&#xff0c;以降低数据的复杂性、提高计算效率&#xff0c;并发现数据中的隐含结构。本文将详细介绍矩阵分解的基本概念、主要方法及其在机器学习中的应用。 一、…

JWT总结

JWT&#xff08;JSON Web Tokens&#xff09;是一种用于在双方之间安全传输信息的简洁的、URL安全的令牌标准。以下是关于JWT的结构、作用、优点以及可能出现的问题的详细解答&#xff1a; 一、JWT的结构 JWT的结构由三个部分组成&#xff0c;它们通过.&#xff08;点&#x…

fastadmin框架后台列表固定第一行列表固定头部

在列表中&#xff0c;如果列表字段很多&#xff0c;并且每页数量很多&#xff0c;往下拉的时候就不好辨别数据是哪个字段的&#xff0c;对用户造成不好的浏览体验。 通过以下方法&#xff0c;可以实现将列表的第一行&#xff0c;也就是头部&#xff0c;固定在第一行显示&#…

TLS与SSL的区别

目录 一、协议版本二、安全性三、性能四、兼容性五、总结 TLS&#xff08;Transport Layer Security&#xff09;和SSL&#xff08;Secure Sockets Layer&#xff09;都是为了保障互联网通信安全而设计的协议&#xff0c;主要用于加密客户端与服务器之间的数据传输。尽管它们的…

14-62 剑和诗人36 - 混合专家 (MoE) 扩展 AI 视野

了解混合专家 (MoE) 混合专家 (MoE) 是一种机器学习技术&#xff0c;它将多个“专家”神经网络模型组合成一个更大的模型。MoE 的目标是通过组合专业专家&#xff08;每个专家专注于不同的子领域&#xff09;来提高 AI 系统的准确性和能力。 MoE 模型的一些关键特征&#xff1…

探索Kotlin:从K1到K2

人不走空 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌赋&#xff1a;斯是陋室&#xff0c;惟吾德馨 嘿&#xff0c;小伙伴们&#xff01;今天我们来聊聊Kotlin&#xff0c;这个在安卓开发圈里越来越火的编程语言。…

苹果手机抹机(马来西亚)操作步骤

苹果手机抹机&#xff08;马来西亚&#xff09;操作步骤 操作环境操作步骤 操作环境 苹果6s&#xff0c;没有插卡&#xff0c;就连接上了一个wifi 操作步骤

XML Schema 杂项数据类型

XML Schema 杂项数据类型 XML Schema 提供了多种数据类型,用于定义 XML 文档中元素和属性的结构和内容。除了常见的简单类型(如字符串、整数、日期等)和复杂类型(如元素和属性的组合)之外,XML Schema 还包括一些杂项数据类型,用于处理特定的数据格式和验证需求。本文将…

错位情缘悬疑升级

✨&#x1f525;【错位情缘&#xff0c;悬疑升级&#xff01;关芝芝与黄牡丹的惊世婚约】&#x1f525;✨在这个迷雾重重的剧场&#xff0c;一场前所未有的错位大戏正悄然上演&#xff01;&#x1f440; 你没看错&#xff0c;昔日兄弟的前女友关芝芝&#xff0c;竟摇身一变成了…

Unity-Invoke带参数的代码一个

Unity的分帧加载,其实没多难,只要理解了原理 而Unity的延迟有两种写法, 一是, StartCoroutinue 二是, Invoke() 我记得之前,有一种Action Delay的写法(找到在补上) 三现在更多的应该是, async task 等 其实原理都是一样的(虽然底层逻辑不一样,完全不一样,但…

API 类别 - 选择器

API 类别 - 选择器 选择器 API 是一种常用的接口,它允许开发人员通过特定的标准从一组数据中选择特定的项目。这类 API 广泛应用于各种编程场景,特别是在需要从大量数据中快速准确地提取信息时。本文将探讨选择器 API 的概念、应用场景、工作原理以及如何在实际项目中有效使…

FastAPI 学习之路(三十七)元数据和文档 URL

实现前的效果 那么如何实现呢&#xff0c;第一种方式如下&#xff1a; from routers.items import item_router from routers.users import user_router""" 自定义FastApi应用中的元数据配置Title&#xff1a;在 OpenAPI 和自动 API 文档用户界面中作为 API 的…

【SGX系列教程】(五)enclave多线程测试,以及EPC内存测试

文章目录 一. 概述二. 原理分析2.1 多线程在Enclave中的实现流程2.2 多线程和EPC内存分配之间的冲突2.3 解决多线程和EPC内存分配冲突的策略 三. 源码分析3.1 代码结构3.2 源码3.2.1 App文件夹3.2.2 Enclave文件夹3.2.3 Makefile 3.3 总结 四.感谢支持 一. 概述 在Intel SGX环境…

Go语言特点

Go语言主要具有以下特点和优势&#xff1a; 1. **高效的性能**&#xff1a;Go语言的性能与Java或C相似&#xff0c;通常比Python快30倍。 2. **并发性**&#xff1a;Go语言致力于简化编程&#xff0c;其创新之处在于goroutines和通道&#xff0c;提供了轻量级的线程和gorouti…