郭青青_2021.01.19-郭青青

February,January,19th

知识点总结

javascript的事件

事件的作用

我们刚才的案例中的script标签在不修改代码的基础上,就必须放在body标签之后 ; 原因是因为必须在
页面加载完成之后,我们才可以获取到图片标签 ; 若想把script标签放在body标签之前,这里可以通过
添加页面加载成功事件来处理。
事件是可以被 javascript 侦测到的行为(类似监听器)。
网页中的每个元素都可以产生某些可以触发 javascript 函数的事件。例如 : 页面加载成功的之后我们来
触发某个函数,又如我们可以在用户点击某个标签时产生一个单击事件来触发某个函数。

注意:事件通常要与函数配合使用,当事件发生时函数才会执行。

事件的注册方式

JavaScript的内置对象

数组对象

JS中数组的特点

  1. 数组中的每个元素的类型是可以不同的
  2. . 数组的长度可以动态变化
  3. 数组中包含大量的方法,类似于Java中的集合,而Java中的数组没有方法。

常用方法

日期对象

日期对象的创建

作用:Date 对象用于处理日期和时间。

创建 Date 对象的语法:

var myDate = new Date()

注:Date 对象会自动把当前日期和时间保存为其初始值

日期对象的方法

jQuery

jQuery简介

jQuery是一个优秀的javascript的轻量级框架,兼容css3和各大浏览器,提供了HTML文档操作、事件处
理、动画设计和Ajax交互操作。并且jquery的插件非常丰富,大多数功能都有相应的插件解决方案。
jquery的宗旨是write less do more。

  • jQuery是一个JavaScript框架,目的:简化JS开发。
  • 本质上是一个外部的js文件,在该文件中封装了很多js代码,实现了很多功能。

轻量级:1)学习难易程度、2)该框架对项目的影响程度
框架:是完成某种功能的半成品软件

自定义JS框架

框架(Framework)是完成某种功能的半成品,抽取重复繁琐的代码,提供简洁强大的方法实现。
需求
定义一个,指定id获取js的dom对象的方法
jq.js

// 抽取到函数(方法)中
function $(selector) {
// return document.querySelector(selector);
return document.getElementById(selector);
}
function jQuery(selector) {
// return document.querySelector(selector);
return document.getElementById(selector);
}

测试页面

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>jquery</title>
</head>
<body>
<div id="myDiv"></div>
<script src="js/jq.js" type="text/javascript" charset="utf-8">
</script>
<script>
// 获取div dom对象
//var myDiv = document.getElementById('myDiv');
// 操作innerHTML修改
$('myDiv').innerHTML = '添加的动态内容...';
</script>
</body>
</html>

快速入门

  1. 下载
    官网下载地址:http://jquery.com
    jquery-3.4.1.js :开发版本 提供良好缩进格式和注释,方便开发者阅读
    jquery-3.4.1.min.js :生产版本 将代码进行压缩,方便网络传输和程序解析

  2. 页面引入

    <script src="js/jquery-3.4.1.js" type="text/javascript" charset="utf-8">
    </script>
    

    3.操作API
    $('#myDiv').html('修改动态内容');

jQuery与JS区别【重点】

jQuery虽然本质上也是js,但如果使用jQuery的属性和方法那么必须保证对象是jQuery对象而不是js对
象。
通过js方式获取的是js对象,通过jQuery方式获取的是jQuery对象。两者的关系与区别总结如下:

  1. jQuery对象与js对象相互转换
  2. 页面加载事件
  3. 事件绑定
  4. css样式设置:通过对象直接修改

jQuery选择器

jQuery与CSS的选择器的作用是完全一样的,筛选具有相似特征的标签(元素)。

基本选择器

  1. 标签(元素)选择器
    语法:$("html标签名") 获得所有匹配标签名称的元素
  2. id选择器
    语法:$("#id的属性值") 获得与指定id属性值匹配的元素
  3. class 选择器
    语法:$(".class的属性值") 获得与指定的class属性值匹配的元素
  4. 并集选择器
    语法:$("选择器1,选择器2....") 获取多个选择器选中的所有元素
  5. 匹配所有选择器
    语法:$("*") 获取所有元素

层级选择器

  1. 后代选择器
    语法:$("A B") 选择A元素内部的所有B元素
  2. 子选择器
    语法:$("A > B") 选择A元素内部的所有B子元素
  3. 兄弟下一个
    语法:$("A + B") 选择所有紧接在A元素后的B元素
  4. 兄弟后面所有
    语法:$("A ~ B") 选择A元素之后的所有B元素
  5. 兄弟所有
    语法:$("A").siblings() 选择A元素所有兄弟元素

属性选择器

  1. 属性名选择器
    语法:$("A[属性名]") 包含指定属性的选择器
  2. 属性选择器
    语法:$("A[属性名='值']") 包含指定属性等于指定值的选择器
  3. 复合属性选择器
    语法:$("A[属性名='值'][]...") 包含多个属性条件的选择器

基本过滤选择器

$('div')

  1. 首元素选择器
    语法::first 获得选择的元素中的第一个元素
  2. 尾元素选择器
    语法: :last 获得选择的元素中的最后一个元素
  3. 非元素选择器
    语法: :not(selector) 不包括指定内容的元素
  4. 偶数选择器
    语法: :even 偶数,从 0 开始计数
  5. 奇数选择器
    语法: :odd 奇数,从 0 开始计数
  6. 等于索引选择器
    语法: :eq(index) 指定索引元素
  7. 大于索引选择器
    语法: :gt(index) 大于指定索引元素
  8. 小于索引选择器
    语法: :lt(index) 小于指定索引元素
  9. 标题选择器
    语法: :header 获得标题(h1~h6)元素,固定写法
  10. 动画选择器

  • 语法: :animated 获得正在执行的动画,固定写法

jQuery的DOM操作【重点】

内容操作

  1. html(): 获取/设置元素的标签体超文本内容
    相当于:js中innerHTML
  2. text(): 获取/设置元素的标签体纯文本内容
    相当于:js中innerText
  3. val(): 获取/设置元素的value属性值
    相当于:js中value

属性操作

  1. attr(): 获取/设置元素的属性
  2. removeAttr():删除属性
  3. prop():获取/设置元素的属性
  4. removeProp():删除属性
    特点:在jq1.6版本推出,解决attr 设计缺陷,专门来处理布尔类型的属性
    例如:checked、selected等等

css样式操作

  1. addClass():添加class属性值
  2. removeClass():删除class属性值
  3. toggleClass():切换class属性
    addClass():判断class属性中是否有有此值,如果没有表示添加
    removeClass()判断class属性中是否有有此值,如果有表示删除

文档CRUD操作

dom操作

  1. $("") 创建a元素对象
  2. append():父元素将子元素追加到末尾
    对象1.append(对象2):将对象2添加到对象1元素内部,并且在末尾
  3. prepend():父元素将子元素追加到开头
    对象1.prepend(对象2):将对象2添加到对象1元素内部,并且在开头
  4. before():添加元素到元素前边
    对象1.before(对象2):将对象2添加到对象1前边。对象1和对象2是兄弟关系
  5. after():添加元素到元素后边
    对象1.after(对象2):将对象2添加到对象1后边。对象1和对象2是兄弟关系
  6. remove():移除元素
    对象.remove():将对象删除掉
  7. empty():清空元素的所有后代元素。
    对象.empty():将对象的后代元素全部清空,但是保留当前对象以及其属性节点

心得体会

使用产生随机数的的方法去随机选择图片,在实现的过程中,对于我来说,也不是那么容易,其简单的思路很容易想明白,但是对语言的基本语法和基本使用很陌生,所以很难准确的将简单的思想使用JavaScript语言做出效果来。

对于jQuery,之前也仅仅是听过而已,也没有接触过,今天初次学习,对其中的一些语法规则和方法,也没有掌握。

标签

评论


© 2021 成都云创动力科技有限公司 蜀ICP备20006351号-1