jQuery和ajax案例练习

news2024/12/24 13:28:25

jQuery和ajax案例练习

  • 1.使用jquery修改div元素的背景色(随意颜色)
  • 2.使用jquery修改div的子元素p的内容为"我是子元素"
  • 3.使用jquery修改第二个p元素的背景色为"orange"
  • 4.使用jQuery添加文本的方式将“添加的文本”追加到p标签的后方
  • 5.删除列表元素中最后一个li元素里的内容
  • 6.使用ajax方法对网址:http://www.liulongbin.top:3006/api/getbooks 发送请求;并使用循环的方式将作者展示在id为box1的标签里面
  • 7.实现清空所有效果重置按钮

根据jQuery和ajax的学习,现有如下需求:
1.使用jquery修改div元素的背景色(随意颜色)

2.使用jquery修改div的子元素p的内容为"我是子元素"

3.使用jquery修改第二个p元素的背景色为"orange"

4.使用jQuery添加文本的方式将“添加的文本”追加到p标签的后方

5.删除列表元素中最后一个li元素里的内容

6.使用ajax方法对网址:http://www.liulongbin.top:3006/api/getbooks 发送请求;并使用循环的方式将作者展示在id为box1的标签里面
基本代码如下
7.实现清空所有效果重置按钮

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
	      <button id="change1">点击改变背景颜色</button>

 		  <button id="change2">点击修改子元素内容</button>

    	  <button id="change3">点击修改p元素背景</button>

     	  <button id="cv">点击克隆p元素</button>

    	  <button id="del">点击删除最后的li元素</button>

    	  <button id="ajax_req">发送ajax请求获取数据</button>
    	  <button id="reset">重置按钮</button>
		<div>
			<p>关关雎鸠,在河之洲。</p>

			<p>窈窕淑女,君子好逑。</p>

			<p>参差荇菜,左右流之。</p>

			<p>窈窕淑女,寤寐求之。</p>

			<p>求之不得,寤寐思服。</p>

			<p>悠哉悠哉,辗转反侧。</p>

			<ul>

				<li>《西游记》</li>

				<li>《红楼梦》</li>

				<li>《水浒传》</li>

				<li>《三国演义》</li>

				<li>《金瓶梅》</li>

			</ul>

			<div id="box1"></div>

		</div>
	</body>
</html>

网页格式如下
在这里插入图片描述

1.使用jquery修改div元素的背景色(随意颜色)

实现代码如下

<script src="js/jquery-1.12.4.min.js"></script>
<script type="text/javascript">
	$(function() {
	var button1 = $('#change1');
	var div = $('div')
	button1.click(function() {
					div.css({
						background: 'red'
					})
				})
			});
</script>

通过创建变量button1选择第一个按钮,创建一个div变量选中所有的div标签,再创建一个点击事件再点击按钮后修改div标签的样式将背景颜色修改。

实现效果如下:
在这里插入图片描述

2.使用jquery修改div的子元素p的内容为"我是子元素"

这题我们可以使用JQuery中的选择集转移操作

选择集转移就是以选择的标签为参照,然后获取转移后的标签。示例如下:

  • $(‘#box’).prev(); 表示选择id是box元素的上一个的同级元素
  • $(‘#box’).prevAll(); 表示选择id是box元素的上面所有的同级元素
  • $(‘#box’).next(); 表示选择id是box元素的下一个的同级元素
  • $(‘#box’).nextAll(); 表示选择id是box元素的下面所有的同级元素
  • $(‘#box’).parent(); 表示选择id是box元素的父元素
  • $(‘#box’).children(); 表示选择id是box元素的所有子元素
  • $(‘#box’).siblings(); 表示选择id是box元素的其它同级元素
  • $(‘#box’).find(‘.myClass’); 表示选择id是box元素的class等于myClass的元素

实现代码如下

<script src="js/jquery-1.12.4.min.js"></script>
<script type="text/javascript">
	$(function() {
	var button2 = $('#change2');
	var div = $('div')
				button2.click(function() {
					div.children('p').html("我是子元素")
				})
			});
</script>

通过创建变量button1选择第一个按钮,创建一个div变量选中所有的div标签,再创建一个点击事件再点击按钮后修改div标签下的所有子元素,并选中子元素p标签的内容修改为.html()中的内容。

实现效果如下:
在这里插入图片描述

3.使用jquery修改第二个p元素的背景色为"orange"

这里有两种方式选择div下的第几个p元素
方法1:可以利用:nth-child()选择器来选择div下的第几个p元素。
:nth-child(n) 选择器匹配属于其父元素的第 N 个子元素,不论元素的类型。
n 可以是数字、关键词或公式。
示例代码如下:

<script src="js/jquery-1.12.4.min.js"></script>
<script type="text/javascript">
	$(function() {
	var button3 = $('#change3');
	var p2 = $('p:nth-child(2)');
				button3.click(function() {
					p2.css('background-color', 'orange');
				})
			});
</script>

方法2:通过使用JQuery的eq(索引)方法,表示选取指定索引的标签
示例代码如下:

<script src="js/jquery-1.12.4.min.js"></script>
<script type="text/javascript">
	$(function() {
	var button3 = $('#change3');
	var p2 = $('p').eq(1);
				button3.click(function() {
					p2.css('background-color', 'orange');
				})
			});
</script>

实现效果如下:
在这里插入图片描述

4.使用jQuery添加文本的方式将“添加的文本”追加到p标签的后方

通过JQuery中给指定元素追加html内容使用: append方法
示例代码如下:

<script src="js/jquery-1.12.4.min.js"></script>
<script type="text/javascript">
	$(function() {
	var button4 = $('#cv');
	var p = $('p');
				button4.click(function() {
					p.append("添加的文本");
				})
			});
</script>

通过选中button4标签和p标签,然后通过点击button按钮后给p标签后添加内容。

实现效果如下:
在这里插入图片描述

5.删除列表元素中最后一个li元素里的内容

可以通过jQuery的last()html()方法来实现。last()方法返回匹配元素集合中的最后一个元素,html()方法用于获取或设置元素的HTML内容。

示例代码如下:

<script src="js/jquery-1.12.4.min.js"></script>
<script type="text/javascript">
	$(function() {
	var button5 = $('#del');
	var li = $('li').last();
				button5.click(function() {
					li.html('');
					// li.remove() 删除li标签
				})
			});
</script>

实现效果如下:
在这里插入图片描述

6.使用ajax方法对网址:http://www.liulongbin.top:3006/api/getbooks 发送请求;并使用循环的方式将作者展示在id为box1的标签里面

首先查看目标网址中内容,内容如下
在这里插入图片描述
可以使用 jQuery 中的 $.ajax() 方法来发送 AJAX 请求,并使用 for 循环或 jQuery 中的 $.each() 方法来遍历作者列表并将其添加到指定的 HTML 元素中。

示例代码如下:

<script src="js/jquery-1.12.4.min.js"></script>
<script type="text/javascript">
	$(function() {
	var button6 = $('#ajax_req');
	var getBooks = function() {
			$.ajax({
				// 1.url 请求地址
				url: 'http://www.liulongbin.top:3006/api/getbooks',
				// 2.type 请求方式,默认是'GET',常用的还有'POST'
				type: 'GET',
				// 3.dataType 设置返回的数据格式,常用的是'json'格式
				dataType: 'json',
				// 4.data 设置发送给服务器的数据, 没有参数不需要设置
				// 5.success 设置请求成功后的回调函数
				success: function(response) {
				// 遍历作者列表并添加到指定的 HTML 元素中
					var data = response.data;
						$.each(data, function(index, book) {
							var author = book.author;
							var html = "<p>" + author + "</p>";
							var box1 = $("#box1").append(html);
						});
					},
				// 6.error 设置请求失败后的回调函数
				//xhr:XMLHttpRequest 对象,可以用它来获取响应的状态码、响应头信息等。
				//status:错误类型,包括 'timeout'、'error'、'abort'、'parsererror' 等。
				//error:错误消息字符串,可以用它来获取具体的错误信息。
				error: function(xhr, status, error) {
						console.log(error);
					}
				})
			}
				button6.click(function() {
					getBooks();
				})
			});
</script>

实现效果如下:
在这里插入图片描述

如果对js中的遍历不是很了解可以查看
链接: javascript中的each遍历
如果对ajax传值不是很清楚的话可以查看
链接: Ajax学习笔记
链接: 数据请求之ajax详解

7.实现清空所有效果重置按钮

这里我实现的方法是通过点击按钮后刷新页面达到重置页面的效果。还有一个方法是将每个按钮前的初始状态保存下来,点击按钮后变成初始状态。但这个方法没有实现成功。所以目前认为理论可行。
示例代码如下:

<script src="js/jquery-1.12.4.min.js"></script>
<script type="text/javascript">
	$(function() {
	var reset = $('#reset')
				reset.click(function() {
					location.reload();
				})
			});
</script>

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

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

相关文章

理解依赖注入(DI – Dependency Injection)

文章目录依赖注入1.provide(提供)1.1 在选项式 API 中&#xff0c;可通过provide选项为后代提供数据1.2 如果想访问到组件的实例this&#xff0c;provide必须采用函数的方式&#xff08;不能用箭头函数&#xff09;&#xff0c;为保证注入方和供给方之间的响应性链接&#xff0…

K8s:开源安全平台 kubescape 实现 Pod 的安全合规检查/镜像漏洞扫描

写在前面 生产环境中的 k8s 集群安全不可忽略&#xff0c;即使是内网环境容器化的应用部署虽然本质上没有变化&#xff0c;始终是机器上的一个进程但是提高了安全问题的处理的复杂性分享一个开源的 k8s 集群安全合规检查/漏洞扫描 工具 kubescape博文内容涉及&#xff1a; kube…

工控机如何安装Python

钡铼技术BL302基于arm架构工控机&#xff0c;采用NXP的高性能处理器I.MX6ULL 运行速度高达800MHz&#xff0c;并配有8GFlash空间和512M RAM&#xff0c;硬件接口有2个网口、2个串口、1个USB口、1个SD卡卡槽、1个HDMI显示接口&#xff0c;可运行LINUX、Ubuntu、Debian等OS&#…

项目管理:如何做到项目信息透明?

项目管理中&#xff0c;管理者最担心的问题是什么&#xff1f;方项目进度不透明&#xff0c;项目的进展不明确&#xff0c;使用项目管理工具让项目进度一目了然。 1、项目管理必须目标明确。 明确的目标能够更好地指导接下来的一系列项目管理工作。 2、项目管理必须资源配置…

Redis缓存一致

背景介绍&#xff1a; redis是一个key-value存储系统。它支持存储的value类型相对更多&#xff0c;包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash&#xff08;哈希类型&#xff09;。这些数据类型都支持push/pop、add/remove及取交集并集和差…

2023 工业互联网平台:智慧制硅厂 Web SCADA 生产线

我国目前是全球最大的工业硅生产国、消费国和贸易国&#xff0c;且未来该产业的主要增量也将来源于我国。绿色低碳发展已成为全球大趋势和国际社会的共识&#xff0c;随着我国“双碳”目标的推进&#xff0c;光伏产业链快速发展&#xff0c;在光伏装机需求的带动下&#xff0c;…

干货分享!PCBA元器件间距的可焊性设计

“ SMT贴片加工逐步往高密度、细间距的设计发展&#xff0c;元器件的最小间距设计需考虑smt厂家的经验程度和工艺是否完善。元器件最小间距的设计除了保证smt焊盘间不易短接的安全间距外&#xff0c;还应考虑元器件的可维护性。 ” 元器件布局为什么要保证安全间距&#xff…

喜讯!华秋电子荣获第六届“高新杯”十大优秀企业奖

2月22日&#xff0c;由中科为集团与广东高科技产业商会联合举办的“第六届‘高新杯’十大优秀高新企业颁奖典礼暨2023年高新企业高质量发展春茗会”&#xff0c;在深圳隆重举行。 中科为集团自2014年举办首届“高新杯”以来&#xff0c;已主办了5届&#xff0c;共计600多家企业…

如何在CSDN上赚钱:CSDN收益渠道分析

文章目录说明哪些人&#xff0c;哪些资源赚到了钱&#xff1f;上传付费资源的策略一些经验说明 在CSDN平台上要想获得回报&#xff0c;主要的渠道&#xff1a; 付费资源付费专栏文章打赏 这三个都有门槛&#xff0c;上传付费资源需要原力等级达到Lv5&#xff0c;粉丝数500&a…

微信怎么发文字朋友圈?简单快捷的方法,只需1分钟

微信是一个非常受欢迎的聊天工具&#xff0c;也是一个交友&#xff0c;分享生活的平台。其中&#xff0c;朋友圈是最受欢迎的功能之一&#xff0c;让我们可以与好友分享自己的生活点滴&#xff0c;也能够关注他人的动态。那么微信怎么发文字朋友圈呢&#xff1f;下面跟着小编一…

tensorflow lite简介-移动设备端机器学习

TensorFlow Lite 是一组工具&#xff0c;可帮助开发者在移动设备、嵌入式设备和 loT 设备上运行模型&#xff0c;以便实现设备端机器学习。 支持多平台 支持多种平台&#xff0c;涵盖 Android 和 iOS 设备、嵌入式 Linux 和微控制器。 原理/流程 工作原理或者使用流程就是上面…

物联网WEB大屏数据可视化

最近了解WEB大屏显示。一般像嵌入式这类的&#xff0c;MQTT协议会走的多一些&#xff0c;走订阅和发布的策略&#xff0c;网上走了一圈之后&#xff0c;目前有几个实现方案。这里对比一下几个物联网协议&#xff0c;相对而言MQTT更合适物联网&#xff0c;其它几个协议不是干这个…

ChatGPT解答:安卓APP耗电量测试方案和源码,用Android代码实现

ChatGPT解答&#xff1a;安卓APP耗电量测试方案和源码&#xff0c;用Android代码实现 安卓APP耗电量测试方案和源码&#xff0c;用Android代码实现 作为一名AI助手&#xff0c;我不会编写代码&#xff0c;但我可以为您提供一些关于安卓APP耗电量测试方案和源码的信息和建议。 …

Web前端:2023年React最佳实践

大多数前端开发人员都希望React JS能成为他们的武器库&#xff0c;来创建独特的、前沿的用户界面。1.重要文件组织服务于相似功能并且被设计为使用某一特征的文件应该被保存在一起。例如&#xff0c;与单个组件相关的所有样式文件和其他文件应该位于同一位置。在这种做法的帮助…

iphone备忘录删除怎么恢复?分享苹果数据找回办法

手机备忘录上写记录&#xff0c;这是不少上班族的小习惯。因为它可以先记录紧急事务&#xff0c;然后再慢慢的解决。也可以把我们一些重要的账号密码存在备忘录里&#xff0c;方便在何时何地直接登入使用。那么如果我们不小心删除了iphone备忘录呢?碰到这种事该怎么办呢?有没…

Vue中二级菜单的实现

在不使用ElementUi等框架的情况下&#xff0c;制作一个二级菜单&#xff0c;网上搜寻很多资料&#xff0c;但部分要不只显示HTML结构&#xff0c;不显示CSS样式&#xff0c;要不就是复杂的让人无法理解。效果图&#xff1a;针对菜单做了CSS样式修饰&#xff0c;给一级二级菜单都…

基于STM32+CS创世 SD NAND(贴片SD卡)完成FATFS文件系统移植与测试(下篇)

四、移植FATFS文件系统 前面第3章&#xff0c;完成了SD NAND的驱动代码编写&#xff0c;这一章节实现FATFS文件的移植。 4.1 FATFS文件系统介绍 &#xff08;1&#xff09;介绍 FatFs 是一种完全免费开源的 FAT 文件系统模块&#xff0c;专门为小型的嵌入式系统而设计。它完…

07--组件

一、小程序组件分类微信团队为开发者提供了一系列基础组件&#xff0c;开发者可以通过组合这些基础组件进行快速开发。小程序中的组件也是非常丰富的&#xff0c;开发者可以基于组件快速搭建出漂亮的页面结构。小程序中的组件其实相当于网页中的HTML标签&#xff0c;只不过标签…

5年测试路,终于爬到了半山腰,结果碰到00后入场,我该拿什么争,我不想35岁被淘汰......

软件测试是一个付出就有回报的工作&#xff0c;可能很多人会说软件测试就是吃青春饭&#xff0c;然而其他工作又何尝不是&#xff1f;没有哪一家公司养尸位素餐之人&#xff0c;大龄员工有被辞退的&#xff0c;也有没被辞退的。干任何职业&#xff0c;抱着一劳永逸的心态&#…

关于k8s集群备份和恢复工具Velero 的一些笔记整理

写在前面 分享一个k8s集群容灾备份恢复开源工具 Velero博文内容涉及&#xff1a; Velero 的简单介绍Velero 安装下载备份恢复 Demo&#xff0c;以及容灾测试 Demo恢复失败情况分析 理解不足小伙伴帮忙指正 我所渴求的&#xff0c;無非是將心中脫穎語出的本性付諸生活&#xff0…