【前端JavaScript WebAPI】01 - 获取DOM元素 + 事件操作属性和样式

JS 的组成
JS的组成

1. Web API介绍

1.1 API的概念

  1. APIApplication Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,无需理解其内部工作机制细节,只需直接调用使用即可。
API应用程序编程接口

1.2 Web API的概念

  1. Web API 是浏览器提供的一套操作浏览器功能和页面元素的 API ( BOMDOM )。

  2. 现阶段我们主要针对于浏览器讲解常用的 API, 主要针对浏览器做交互效果。比如我们想要浏览器弹出一个警示框, 直接使用 alert(‘弹出’)

  3. 此处的 Web API 特指浏览器提供的一系列API(很多函数或对象方法),即操作网页的一系列工具。例如:操作html标签、操作页面地址的方法。

1.3 API 和 Web API 总结

  1. API 是为我们程序员提供的一个接口,帮助我们实现某种功能,我们会使用就可以了,不必纠结内部如何实现;

  2. Web API 主要是针对于浏览器提供的接口,主要针对于浏览器做交互效果。;

  3. Web API 一般都有输入和输出(函数的传参和返回值),Web API 很多都是方法(函数);

  4. 学习 Web API 可以结合前面学习内置对象方法的思路学习。

2. DOM 介绍

2.1 什么是DOM

  1. 文档对象模型(Document Object Model,简称DOM),是 W3C 组织推荐的处理可扩展标记语言(html或者xhtml)的标准编程接口。

  2. W3C已经定义了一系列的DOM 接口,通过这些DOM接口可以改变网页的内容、结构和样式。

  3. DOMW3C组织制定的一套处理 htmlxml文档的规范,所有的浏览器都遵循了这套标准。

2.2 DOM树

DOM树
  1. DOM 树 又称为文档树模型,把文档映射成树形结构,通过节点对象对其处理,处理的结果可以加入到当前的页面。
  • 文档:一个页面就是一个文档,DOM中使用document表示;
  • 节点:网页中的所有内容,在文档树中都是节点(标签、属性、文本、注释等),使用node表示;
  • 标签节点:网页中的所有标签,通常称为元素节点,又简称为“元素”,使用element表示。

3. 获取元素

为什么要获取页面元素?
  1. 例如:我们想要操作页面上的某部分(显示/隐藏,动画),需要先获取到该部分对应的元素,再对其进行操作。

3.1 根据ID获取

语法:document.getElementById(id);
作用:根据ID获取元素对象;
参数:id值,区分大小写的字符串;
返回值:元素对象 或 null

案例代码
2020-11-29

3.2 根据标签名获取元素

语法:document.getElementsByTagName('标签名') 或者 element.getElementsByTagName('标签名')
作用:根据标签名获取元素对象;
参数:标签名;
返回值:元素对象集合(伪数组,数组元素是元素对象)。

案例代码


  • 知否知否
  • 知否知否
  • 知否知否
  • 知否知否
  • 知否知否
  • 哈哈哈哈
  • 哈哈哈哈
  • 哈哈哈哈
  • 哈哈哈哈
  • 哈哈哈哈
  • 哈哈哈哈

注意:getElementsByTagName()获取到是动态集合,即:当页面增加了标签,这个集合中也就增加了元素。

3.3 H5新增获取元素方式

H5新增获取元素方式

注意:querySelector和querySelectorAll里面的选择器需要加上选择器对应的符号,比如:document.querySelector('#nav')

案例代码

盒子1
盒子2

3.4 获取特殊元素

  1. 获取body元素:
 let bodyEle = document.body;
  1. 获取html元素:
let htmlEle = document.documentElement;

4. 事件基础

4.1 事件概述

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

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

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

4.2 事件三要素

  1. 事件源(谁):触发事件的元素;

  2. 事件类型(什么事件): 例如 click 点击事件;

  3. 事件处理程序(做啥):事件触发后要执行的代码(函数形式),事件处理函数。

案例代码
  1. 点击一个案例弹出一个alert()提示框。




4.3 执行事件的步骤

  1. 获取事件源;

  2. 注册事件;

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

案例代码

123
4.4 常见的鼠标事件
常见鼠标事件

5. 操作元素

  1. JavaScriptDOM 操作可以改变网页内容、结构和样式,我们可以利用 DOM操作元素来改变元素里面的内容、属性等。(注意:这些操作都是通过元素对象的属性实现的)。

5.1 改变元素内容(获取或设置)

改变元素内容
操作元素之改变元素内容


****-**-** **:**:**
innerText和innerHTML的区别
  1. 获取内容时的区别:innerText会去除空格和换行,而innerHTML会保留空格和换行;

  2. 设置内容时的区别:innerText不会识别html,而innerHTML会识别。W3C标准。

  3. 这两个属性都是可读写的,既可以通过他们设置内容也可以通过他们获取内容。




p标签 哈哈哈哈

5.2 常用元素的属性操作

常用元素的属性
获取属性的值

元素对象.属性名

设置属性的值

元素对象.属性名=值

案例代码



刘德华


5.3 案例:分时问候

  1. 在不同的时间段内显示不同的图片和问候语:


晚上好

5.4 表单元素的属性操作

表单元素的属性操作
获取属性的值

元素对象.属性名

设置属性的值

元素对象.属性名 = 值
表单元素中有一些属性如:disabled、checked、selected,元素对象的这些属性的值是布尔型。

案例代码





5.5 案例:仿京东显示隐藏密码

  1. 点击右侧的显示或隐藏按钮显示或隐藏文本框中的密码:


    隐藏密码
显示密码



5.6 样式属性操作

  1. 当触发单击事件时,改变div样式。
 


  1. 我们可以通过 JS修改元素的大小、颜色、位置等样式。
常用方式
  1. element.style 行内样式。

  2. element.className类名样式。如果原来的 className 中有类名样式,此操作将对其进行覆盖。

通过操作style属性

元素对象的style属性也是一个对象!
元素对象.style.样式属性 = 值;

注意:JS 里面的样式采用驼峰命名法,比如fontSizebackgroundColor

JS修改Style样式操作,产生的行内样式CSS权重比较高。

5.7 案例:淘宝点击关闭二维码

  1. 当鼠标点击二维码关闭按钮的时候则关闭整个二维码:
关闭二维码
  

淘宝二维码 x

5.8 案例 :循环精灵图

  1. 可以利用for循环设置一组 元素的精灵图背景:
循环精灵图
  

5.9 案例:显示和隐藏文本框内容

  1. 当鼠标点击文本框时,里面默认文字隐藏,当鼠标离开文本框时,里面文字显示。
显示和隐藏文本框内容




通过操作className属性

元素对象.className = 值;
因为class是关键字,所有使用className。

注意
  1. 如果样式修改较多的时候可以采取操作类名的方式更改元素样式。

  2. class因为是保留字 ,因此使用className来操作元素 类名属性。

  3. className会直接更改元素的类名,会覆盖原先的类名。

案例代码
 

文本

5.10 案例:密码框格式提示错误信息

  1. 用户如果离开密码框,里面输入 个数不是6~16时,提示错误信息,否则提示输入正确信息。
输入错误
输入正确


请输入6~16位的密码!

你可能感兴趣的:(【前端JavaScript WebAPI】01 - 获取DOM元素 + 事件操作属性和样式)