JQuery -- 第九课

文章目录

  • 前言
  • 一、JQuery是什么?
  • 二、JQuery的使用步骤
    • 1.引入
    • 2.书写位置
    • 3. 表示方法
  • 三、JQuery选择器
    • 1.层级选择器
    • 2. 筛选选择器
    • 3. 排他思想
    • 4. 精品展示
  • 四、jQuery样式操作
    • 1. 修改样式
    • 2.类操作
      • 1. 添加
      • 2. 移除
      • 3. 切换
  • 五、jQuery动画
    • 1. 显示和隐藏
    • 2. 滑动
      • 1. slide
      • 2. hover
    • 3. 停止
    • 4.淡入淡出
    • 5. 自定义动画
  • 六、jQuery属性操作
    • 1. prop方法
    • 2. attr方法
  • 七、jQuery内容操作
  • 八、元素操作
    • 1. 遍历元素
    • 2. 创建元素
    • 3. 添加元素
    • 4. 清除元素
  • 九、尺寸和位置操作
    • 1. 尺寸方法
  • 十、事件操作
    • 1. 事件绑定
      • 1.一次绑定一个事件
      • 2.一次性绑定多个事件
      • 3.为不同的事件绑定相同的处理函数
    • 2. 事件委派
    • 3. 案例 -- 留言板
    • 4. 事件解绑
    • 5. 触发事件
    • 6. 事件对象
  • 总结


前言

首先,很抱歉本专栏的最后一个内容JQuery拖到现在才发出来,因为最近事情真是有点多,来不及持续更新,望谅解!


一、JQuery是什么?

jQuery:jQuery是一个快速、简洁的JavaScript库,其设计宗旨是“write less,do more”,倡导用更少的代码,做更多的事情。

二、JQuery的使用步骤

1.引入

<script'src="jquery-3.3.1.min.js"></script>
<script>
	$("div").hide()//隐藏div元素
</script>

2.书写位置

//语法1(简写形式)
$(function(){
	// 页面DOM加载后执行的代码
	});
//语法2(完整形式)
$(document).ready(function(){
	//页面DOM加载后执行的代码
	});

3. 表示方法

在这里插入图片描述

三、JQuery选择器

jQuery选择器和css选择器非常类似(有如下几种常用的选择器)

请添加图片描述

1.层级选择器

jQuery层级选择器:层级选择器可以完成多层级元素之间的获取。

请添加图片描述

// 隐式迭代
<div>1个div</div><div>2个div</div><div>3个div</div><div>4个div</div>
<script>
	console.log($("div"));
	// 使用css()方法修改元素CSS样式,将背景色设为pink
	$("div".css("background""pink");//对所有的div进行相同操作
</script>

2. 筛选选择器

筛选选择器:筛选选择器用来筛选元素,通常和别的选择器搭配使用。

请添加图片描述
常用筛选方法

请添加图片描述

3. 排他思想

<body>
    <button>按钮1</button>
    <button>按钮2</button>
    <button>按钮3</button>
    <button>按钮4</button>
    <button>按钮5</button>
    <script>
        $(function(){
            // 隐式迭代
            $('button').click(function(){
                $(this).css({'background': 'skyblue'});
                $(this).siblings().css({'background': ''}); // 调节其他兄弟节点
            })
        })
    </script>
</body>

4. 精品展示

<script>
    $(“#left li”).mouseover(function(){
        //鼠标指针经过左侧的li 
        var index = $(this.index();
        //得到当前li的索引
        console.log(index);
        //让右侧盒子相应索引的图片显示出来
        $("#content div".eq(index).show();
        //将其他图片隐藏起来
        $("#content div".eq(index).siblings().hide();
	});
</script>

链式编程

$("#left li".mouseover(function(){
	var index = $(this.index();
	//用一行代码完成当前索引元素的显示和其他兄弟元素的隐藏
	$("#content div".eq(index).show().siblings().hide();
});

四、jQuery样式操作

1. 修改样式

获取样式:css()方法接收参数时只写样式名,则返回样式值。

<style>
    div{
        width:200px;
        height:200px;
        background-color:'pink'}
</style>

<div></div>

<script>
    console.log($("div".css("width"));//结果为:200px
</script>

2.类操作

1. 添加

addClass()添加类:基本语法$(selector).addClass(className)

2. 移除

removeClass()移除类:基本语法$(selector).removeClass(className)

3. 切换

toggleClass()切换类:基本语法$(selector).toggleClass(className,switch)

五、jQuery动画

1. 显示和隐藏

请添加图片描述

2. 滑动

1. slide

请添加图片描述

2. hover

hover()方法实现上述功能:基本语法$(selector).hover([over.]out)

$(".nav > li"). hover(function() {
	$(this). children("ul"). slideToggle(200);
}

3. 停止

stop()方法:基本语法$(selector).stop(stopAll,goToEnd);

$("div".stop();//停止当前动画,继续下一个动画
$("div".stop(true);//清除div元素动画队列中的所有动画
$("div".stop(truetrue);//停止当前动画,清除动画队列中的所有动画
$("div".stop(falsetrue);//停止当前动画,继续执行下一个动画

4.淡入淡出

请添加图片描述

5. 自定义动画

animate()方法:基本语法$(selector).animate(params[,speed] [,easing] [ fn])

六、jQuery属性操作

1. prop方法

  1. prop()方法:prop()方法用来设置或获取元素固有属性值。
  2. prop()方法获取属性值语法:$(selector).prop(“属性名”)。
  3. prop()方法设置属性值语法:$(selector).prop(“属性”,“属性值”)

2. attr方法

  1. attr()方法:attr()用来设置或获取元素的自定义属性,自定义属性是指用户给元素添加的非固有属性。
  2. attr()方法获取属性值语法:$(selector).attr(“属性名”)。
  3. attr()方法设置属性值语法:$(selector).attr(“属性”,“属性值”)

七、jQuery内容操作

请添加图片描述

八、元素操作

1. 遍历元素

  1. 遍历元素:基本语法$(selector).each(function(index,domEle));
    1. 该方法的参数是一个函数。这个函数将会在遍历时调用
    2. 在函数中,index参数是每个元素的索引号
    3. domEle是每个DOM元素的对象(个元素调用一次不是jQuery对象)
    4. 如果要想使用jQuery方法,需要将这个DOM对象转换成为jQuery对象,即$(domEle)。
  2. . e a c h ()方法:基本语法 .each()方法:基本语法 .each()方法:基本语法.each(Object,function(index,element)

2. 创建元素

创建元素:通过jQuery可以很方便地动态创建一个元素,直接在“$()”函数中传入一个HTML字符串即可进行创建。

$(function(){
	var li = $("<li>我是后来创建的li</li>");//创建元素
    console.log(li);//将元素输出到控制台
});

3. 添加元素

内部添加:内部添加的方式可以实现在元素内部添加元素,并且可以放到内部的最后面或者最前面。

var li = $("<li>我是后来创建的li</li>");
$("ul".append(li);//内部添加并且放到内部的最后面
$("ul".prepend(li);//内部添加并且放到内部的最前面

外部添加:外部添加就是把元素放入目标元素的后面或者前面,通过after()和before()方法来实现。

var div = $("<div>我是后来创建的div</div>");
$(".test".after(div);//div放入到目标元素的后面
$(".test".before(div);//div放入到目标元素的前面

4. 清除元素

删除元素:删除元素分为删除匹配的元素本身、删除匹配的元素里面的子节素点两种情况。
请添加图片描述

九、尺寸和位置操作

1. 尺寸方法

尺寸操作:在jQuery中,尺寸方法用来获取或设置元素的宽度和高度。
请添加图片描述

十、事件操作

1. 事件绑定

通过**on()**方法绑定事件:on()方法绑定单个事件

通过事件方法绑定事件:已经用过了单个事件的绑定,是通过调用某个事件方法,传入事件处理函数来实现的,如click()、change()等。
请添加图片描述
请添加图片描述

<div>绑定事件</div>
<script>
    $("div".click(function(){
    	$(this.css("background""purple");
    });
    $("div".mouseenter(function(){
    	$(this.css("background""skyblue");
    });
</script>

1.一次绑定一个事件

// 一次绑定一个事件
$("div".on("click"function(){
	$(this.css("background""yellow"}

2.一次性绑定多个事件

// 一次绑定多个事件
$("div".on({
	mouseenter:function(){
    	$(this.css("background""skyblue");
    },
    click:function(){$(this.css("background""purple");},
    mouseleave:function(){
    	$(this.css("background""blue");
    }

3.为不同的事件绑定相同的处理函数

//为不同事件绑定相同的事件处理函数
$("div".on("mouseenter mouseleave"function(){
	$(this.toggleClass("current");
});

2. 事件委派

事件委派:把原本要给子元素绑定的事件绑定到父元素上,这就表示把子元素的事件委派给父元素

<ul>
	<li>我是第1个li</li>
	<li>我是第2个li</li>
</ul>
<script>
	$("ul".on("click""li:first-child"function(){
		alert("单击了li");//单击第1个li会触发此事件
	});
</script>

3. 案例 – 留言板

案例分析:

① 编写一个简单的留言板页面

② 单击“发布”按钮,显示用户发布的留言

③ 在每个留言的右边提供一个“删除”链接,用来删除留言

4. 事件解绑

off()方法:该方法可以移除通过on()方法添加的事件处理程序

$('p'.off();//解除p元素上的所有事件处理程序
$('p'.off('click');//解绑p元素上的单击事件
$('ul'.off('click''li');//解绑事件委派

5. 触发事件

  1. 事件方法触发事件:jQuery中的事件方法在调用时如果传参数,表示绑定事件,如果不传参数,表示触发事件。
//绑定事件
$("div".click(function(){
	alert("hello");
});
//触发事件
$("div".click();
  1. trigger()方法触发事件:使用trigger()方法可以触发指定事件。
// 绑定事件
$("div".click(function(){
	alert("hello");
});
//触发事件
$("div".trigger("click");

6. 事件对象

  1. 事件对象:当事件被触发时,就会有事件对象的产生,在事件处理函数中可以使用参数来接收事件对象。
<div>点我</div>
<script>
$("div".on("click"function(event){
	console.log(event);
});
</script>
  1. 事件对象:通过事件对象阻止事件冒泡行为。
event.stopPropagation();// 阻止事件冒泡
  1. 事件对象:通过事件对象阻止默认事件行为。
<a href="1.html">点我</a>
$(document).on("click"function(){
	console.log("单击了document");
});
$("a".on("click"function(event){
	event.preventDefault();
	//阻止事件默认行为
	console.log("单击了a");
}

总结

本栏目到这里基本就结束了,感谢这么多天大家的陪伴,后续有想要了解的,或者需要什么类型的教程的可以私信我,我会在能力范围之内尽力满足大家的要求!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python 版本的 2024详细代码

2048游戏的Python实现 概述&#xff1a; 2048是一款流行的单人益智游戏&#xff0c;玩家通过滑动数字瓷砖来合并相同的数字&#xff0c;目标是合成2048这个数字。本文将介绍如何使用Python和Pygame库实现2048游戏的基本功能&#xff0c;包括游戏逻辑、界面绘制和用户交互。 主…

在Elasticsearch中,是怎么根据一个词找到对应的倒排索引的?

大家好&#xff0c;我是锋哥。今天分享关于【在Elasticsearch中&#xff0c;是怎么根据一个词找到对应的倒排索引的&#xff1f;】面试题。希望对大家有帮助&#xff1b; 在Elasticsearch中&#xff0c;是怎么根据一个词找到对应的倒排索引的&#xff1f; 在 Elasticsearch 中…

C# 数据结构之【图】C#图

1. 图的概念 图是一种重要的数据结构&#xff0c;用于表示节点&#xff08;顶点&#xff09;之间的关系。图由一组顶点和连接这些顶点的边组成。图可以是有向的&#xff08;边有方向&#xff09;或无向的&#xff08;边没有方向&#xff09;&#xff0c;可以是加权的&#xff…

Mac 系统上控制台常用性能查看命令

一、top命令显示 在macOS的控制台中&#xff0c;top命令提供了系统当前运行的进程的详细信息以及整体系统资源的利用情况。下面是对输出中各个字段的解释&#xff1a; Processes: 483 total: 系统上总共有483个进程。 2 running: 当前有2个进程正在运行。 481 sleeping: 当前有…

Docker--通过Docker容器创建一个Web服务器

Web服务器 Web服务器&#xff0c;一般指网站服务器&#xff0c;是驻留于因特网上某种类型计算机的程序。 Web服务器可以向浏览器等Web客户端提供文档&#xff0c;也可以放置网站文件以供全世界浏览&#xff0c;或放置数据文件以供全世界下载。 Web服务器的主要功能是提供网上…

Linux网络——NAT/代理服务器

一.NAT技术 1.NAT IP转换 之前我们讨论了, IPv4 协议中, IP 地址数量不充足的问题&#xff0c;NAT 技术就是当前解决 IP 地址不够用的主要手段, 是路由器的一个重要功能。 NAT 能够将私有 IP 对外通信时转为全局 IP. 也就是一种将私有 IP 和全局IP 相互转化的技术方法: 很…

极简开源Windows桌面定时提醒休息python程序

当我们长期在电脑面前坐太久后&#xff0c;会产生一系列健康风险&#xff0c;包括干眼症&#xff0c;颈椎&#xff0c;腰椎&#xff0c;肌肉僵硬等等。解决方案是在一定的时间间隔内我们需要have a break, 远眺可以缓解干眼症等眼部症状&#xff0c;站起来走动两步&#xff0c;…

Windows Qtcreator不能debug 调试 qt5 程序

Windows下 Qt Creator 14.0.2 与Qt5.15.2 正常release打包都是没有问题的&#xff0c;就是不能debug&#xff0c;最后发现是两者不兼容导致的&#xff1b; 我使用的是 编译器是 MinGW8.1.0 &#xff0c;这个版本是有问题的&#xff0c;需要更新到最新&#xff0c;我更新的是Mi…

【论文笔记】Number it: Temporal Grounding Videos like Flipping Manga

&#x1f34e;个人主页&#xff1a;小嗷犬的个人主页 &#x1f34a;个人网站&#xff1a;小嗷犬的技术小站 &#x1f96d;个人信条&#xff1a;为天地立心&#xff0c;为生民立命&#xff0c;为往圣继绝学&#xff0c;为万世开太平。 基本信息 标题: Number it: Temporal Grou…

【模版进阶】—— 我与C++的不解之缘(十八)

前言&#xff1a; ​ 之前浅浅的学了一下模版&#xff0c;这里来深入学习一下模版 1、非类型模版参数 模版参数可以分为类型形参 和非类型形参 类型形参&#xff1a;出现在模板参数列表中&#xff0c;跟在**class或者typename**之类的参数类型名称。非类型形参&#xff1a; 就是…

Diving into the STM32 HAL-----Timers笔记

嵌入式设备会按时间执行某些活动。对于真正简单且不准确的延迟&#xff0c;繁忙的循环可以执行任务&#xff0c;但是使用 CPU 内核执行与时间相关的活动从来都不是一个聪明的解决方案。因此&#xff0c;所有微控制器都提供专用的硬件外设&#xff1a;定时器。定时器不仅是时基生…

质量留住用户:如何通过测试自动化提供更高质量的用户体验

在当今竞争异常激烈的市场中&#xff0c;用户手头有无数种选择&#xff0c;但有一条真理至关重要&#xff1a; 质量留住用户。 产品的质量&#xff0c;尤其是用户体验 (UX)&#xff0c;直接决定了客户是留在您的品牌还是转而选择竞争对手。随着业务的发展&#xff0c;出色的用户…

C++ 优先算法 —— 长度最小的子数组(滑动窗口)

目录 题目&#xff1a;长度最小的子数组 1. 题目解析 2. 算法原理 Ⅰ. 暴力枚举 Ⅱ. 滑动窗口&#xff08;同向双指针&#xff09; 滑动窗口正确性 3. 代码实现 Ⅰ. 暴力枚举(会超时&#xff09; Ⅱ. 滑动窗口&#xff08;同向双指针&#xff09; 题目&#xff1a;长…

GPT系列文章

GPT系列文章 GPT1 GPT1是由OpenAI公司发表在2018年要早于我们之前介绍的所熟知的BERT系列文章。总结&#xff1a;GPT 是一种半监督学习&#xff0c;采用两阶段任务模型&#xff0c;通过使用无监督的 Pre-training 和有监督的 Fine-tuning 来实现强大的自然语言理解。在 Pre-t…

进程间通信5:信号

引入 我们之前学习了信号量&#xff0c;信号量和信号可不是一个东西&#xff0c;不能混淆。 信号是什么以及一些基础概念 信号是一种让进程给其他进程发送异步消息的方式 信号是随时产生的&#xff0c;无法预测信号可以临时保存下来&#xff0c;之后再处理信号是异步发送的…

代理模式:静态代理和动态代理(JDK动态代理原理)

代理模式&#xff1a;静态代理和动态代理以及JDK动态代理原理 为什么要使用代理模式&#xff1f;静态代理代码实现优缺点 动态代理JDK动态代理JDK动态代理原理JDK动态代理为什么需要被代理的对象实现接口&#xff1f;优缺点 CGLIB动态代理优缺点 代理模式的应用 为什么要使用代…

【AI技术赋能有限元分析应用实践】pycharm终端与界面设置导入Abaqus2024自带python开发环境

目录 一、具体说明1. **如何在 Windows 环境中执行 Abaqus Python 脚本**2. **如何在 PyCharm 中配置并激活 Abaqus Python 环境**3. **创建 Windows 批处理脚本自动执行 Abaqus Python 脚本**总结二、方法1:通过下面输出获取安装路径导入pycharm方法2:终端脚本执行批处理脚本…

【消息序列】详解(6):深入探讨缓冲区管理与流量控制机制

目录 一、概述 1.1. 缓冲区管理的重要性 1.2. 实现方式 1.2.1. HCI_Read_Buffer_Size 命令 1.2.2. HCI_Number_Of_Completed_Packets 事件 1.2.3. HCI_Set_Controller_To_Host_Flow_Control 命令 1.2.4. HCI_Host_Buffer_Size 命令 1.2.5. HCI_Host_Number_Of_Complete…

虚拟局域网PPTP配置与验证(二)

虚拟局域网PPTP配置与验证(二) windows VPN客户端linux 客户端openwrt客户端性能验证虚拟局域网PPTP配置与验证(一)虚拟局域网PPTP配置与验证(二) : 本文介绍几种客户端连接PPTP服务端的方法,同时对linux/windows/openwrt 操作系统及x86、arm硬件平台下PPTP包转发性能进…

uniapp中使用uni-forms实现表单管理,验证表单

前言 uni-forms 是一个用于表单管理的组件。它提供了一种简化和统一的方式来处理表单数据&#xff0c;包括表单验证、字段绑定和提交逻辑等。使用 uni-forms可以方便地创建各种类型的表单&#xff0c;支持数据双向绑定&#xff0c;可以与其他组件及API进行良好的集成。开发者可…