jQuery

一、概述

  1、jQuery是js库,库:相当于java的工具类,库是存放东西的, jQuery是存放js代码的地方, 里面有很多function函数

  2、作用:使用jQuery简化对dom的操作,执行事件处理,动画,ajax请求

二、dom对象和jQuery对象

1、dom对象,使用javascript的语法创建的对象叫做dom对象, 也就是js对象。
    var obj = document.getElementById(“txt1”); obj是dom对象,也叫做js对象
    obj.value;

2、jquery对象: 使用jquery语法表示对象叫做jquery对象, 注意:jquery表示的对象都是数组。
  例如 var jobj = $(“#txt1”), jobj就是使用jquery语法表示的对象。 也就是jquery对象。 它是一个数组。
    现在数组中就一个值。

3、dom对象可以和jquery对象相互的转换。
  dom对象可以转为jquery , 语法: $(dom对象)
  jquery对象也可以转为dom对象, 语法: 从数组中获取第一个对象, 第一个对象就是dom对象, 使用[0]或者get{0).

4、为什么要进行dom和jquery的转换:目的是要使用对象的方法,或者方法。
  当你使用dom对象时,可以使用dom对象的属性或者方法, 如果你要想使用jquery提供的函数,必须是jquery对象才可以。

示例代码1:

<body>
		<script type="text/javascript" src="js/jquery-3.4.1.js"></script>
		<script type="text/javascript">
			function btnClick(){
				//获取dom对象
				var obj = document.getElementById("btnClick");
				//使用dom对象的value属性,获取值
				alert(obj.value);
				
				//把dom对象转成jquery对象,使用jquery库中的函数
				var jobj = $(obj);
				//调用jquery中的函数,获取value的值
				alert(jobj.val());
			}
		</script>
		<input type="button" value="==我是按钮==" id="btnClick" onclick="btnClick()"/>
	</body>

示例代码2:

<body>
		<script type="text/javascript" src="js/jquery-3.4.1.js"></script>
		<script type="text/javascript">
			function btnClick(){
				//使用jquery的语法,获取dom对象
				// var obj = $("#txt")[0];//从数据中获取下标是0的dom对象
				var obj = $("#txt").get(0);//从数组中获取下标是0的dom对象
				
				var num = obj.value;
				obj.value = num * num;
			}
		</script>
		<input type="button" value="计算平方" onclick="btnClick()" />
		<br>
		<input type="text" id="txt" />
	</body>

三、基本使用

1、获取jquery的js文件

2、在你的程序中加入js文件的地址

<script type="text/javascript" src="js/jquery-3.4.1.js

"></script>

3、获取jquery对象,调用它的函数

4、jquery3.4.1的压缩和非压缩版本的地址

链接:https://pan.baidu.com/s/1OoYRjPkM7DE_YAN8hDLMIA
提取码:acbk

四、选择器

  就是一个字符串, 用来定位dom对象的。定位了dom对象,就可以通过jquery的函数操作dom

1、基本选择器

(1)id选择器

语法: $(“#dom对象的id值”)
  通过dom对象的id定位dom对象的。 通过id找对象, id在当前页面中是唯一值

(2)class选择器

语法: $(".class样式名)
  class表示css中的样式, 使用样式的名称定位dom对象的。

(3)标签选择器

语法: $(“标签名称”)
  使用标签名称定位dom对象的

(4)所有选择器

语法:$(“*”)

  选择页面中所有的dom对象

(5)组合选择器

语法:$(“#id,class,标签名”)

  使用id,class,标签的选择器,多个dom对象的定位

2、表单选择器

语法: $(“:type属性值”)

  使用标签的type属性值,定位dom对象的方式。

  例如,所有的单行文本,$(“:text”)

  • 根据type属性值定位dom对象的,页面中的组件一定有type属性才可以使用
  • 表单选择器和form标签无关

示例代码:

<body>
		<script type="text/javascript" src="js/jquery-3.4.1.js"></script>
		<script type="text/javascript">
			function fun1(){
				//使用表单选择器$(:type的值"")
				var obj = $(":text");
				//获取value属性的值 val()是jquery中的函数,读取value属性值
				alert(obj.val());
			}
			function fun2(){
				//定位radio
				var obj = $(":radio");//数组,目前是两个对象,man,woman
				for(var i=0;i<obj.length;i++){
					//循环数组,数组中的成员是dom对象,可以使用dom的属性或者函数
					//从数组中获取成员,使用下标的方式
					var dom = obj[i];
					//使用dom对象的属性,获取value值
					alert(dom.value);
					/* var jobj = $(obj);
					alert(jobj.val()); */
				}
			}
			function fun3(){
				//定位checkbox
				var obj = $(":checkbox");//数组,有三个对象
				for(var i=0;i<obj.length;i++){
					var dom = obj[i];
					// alert(dom.value);
					//使用jquery的val函数,获取value的值
					//1.需要jquery对象
					var jobj = $(dom);
					//2.调用jquery函数
					alert(jobj.val());
  				}
			}
		</script>
		<input type="text" value="我是type=text" /><br>
		<input type="radio" value="man"  /><br>
		<input type="radio" value="women" /><br>
		<input type="checkbox" value="bike" />骑行<br>
		<input type="checkbox" value="football" />足球<br>
		<input type="checkbox" value="music" />音乐<br>

		<input type="button" value="我是type=text" onclick="fun1()" /><br>  
		<input type="button" value="获取radio属性值" onclick="fun2()" /><br>  
		<input type="button" value="获取checkbox属性值" onclick="fun3()" /><br>  
	</body>

五、过滤器

1、概念

在定位了dom对象后,根据一些条件筛选dom对象
过滤器又是一个字符串,用来筛选dom对象的
过滤器不能单独使用, 必须和选择器一起使用

2、基本过滤器

(1)$(“选择器:first”)

语法:$(“选择器:first”)

  定位数组中的第一个dom对象

(2)$(“选择器:last”)

语法:$(“选择器:last”)

  定位数组中的最后一个dom对象

(3)$(“选择器:eq(下标)”)

语法:$(“选择器:eq(数组的下标)”)

  定位到制定下标的dom对象

(4)$(“选择器:lt(下标)”)

语法:$(“选择器:lt(下标)”)

  定位小于指定下标的dom对象

(5)$(“选择器:gt(下标)”)

语法:$(“选择器:gt(下标)”)

   定位大于指定下标的dom对象

示例代码:

<style type="text/css">
			div{
				background: gray;	
			}
		</style>
	</head>
	<body>
		<script type="text/javascript" src="js/jquery-3.4.1.js"></script>
		<script type="text/javascript">
			//$(document).ready(函数):当页面中的dom对象加载成功后,会执行ready()
			//相当于是onload()
			$(function(){
				//当页面dom对象加载后,给对象绑定事件,因为此时button对象已经在内存中创建好了,才能使用
				$("#btn1").click(function(){
					//过滤器
					var obj = $("div:first");
					
					obj.css("background","red");
				})
			})
			
			//绑定btn2的事件
			$(function(){
				$("#btn2").click(function(){
					var obj = $("div:last");
					obj.css("background","green");
				})
			})
			
			//绑定btn3的事件
			$(function(){
				$("#btn3").click(function(){
					var obj = $("div:eq(3)");
					obj.css("background","blue");
				})
			})
			
			//绑定btn4的事件
			$(function(){
				$("#btn4").click(function(){
					var obj = $("div:lt(3)");
					obj.css("background","orange");
				})
			})
			
			//绑定btn5的事件
			$(function(){
				$("#btn5").click(function(){
					var obj = $("div:gt(3)");
					obj.css("background","yellow");
				})
			})
		</script>
		<div id="one">我是div-0</div>
		<div id="two">我是div-1</div>
		<div>我是div-2
		     <div>我是div-3</div>
		     <div>我是div-4</div>
		</div>
		<div>我是div-5</div>
		<br/>
		<span>我是sapn</span>
		<br/>
		<input type="button" value="获取第一个div" id="btn1"  /><br>  
		<input type="button" value="获取最后一个div" id="btn2"  /><br>  
		<input type="button" value="获取下标为3的div" id="btn3"  /><br>  
		<input type="button" value="获取下标3前面的div" id="btn4"  /><br>  
		<input type="button" value="获取下标3后面的div" id="btn5"  /><br>  
	</body>

3、表单属性过滤器

使用dom对象的状态作为筛选条件,定位dom对象

(1)$(“选择器:enabled”)

语法:$(“选择器:enabled”)

   定位可用的dom对象

(2)$(“选择器:disabled”)

语法:$(“选择器:disabled”)

   定位不可用的dom对象

(3)$(“选择器:checked”)

语法:$(“选择器:checked”)

   定位选中的dom对象

(4)$(“选择器>option:selected“)

语法:$(“选择器:>option:selected”)

   定位下拉列表框选中选中的值

示例代码:

<body>
		<script type="text/javascript" src="js/jquery-3.4.1.js"></script>
		<script type="text/javascript">
			$(function(){
				$("#btn1").click(function(){
					//获取所有可以使用的text
					var obj = $(":text:enabled");
					//获取jquery数组值所有dom对象的value值
					obj.val("Hello");
				})
				
				$("#btn2").click(function(){
					//获取选中的checkbox
					var obj = $(":checkbox:checked");
					for(var i=0;i<obj.length;i++){
					     // alert(obj[i].value);//第一种方式
						 var jobj = $(obj[i]);//第二种方式
						 alert(jobj.val());
					}
				})
				
				$("#btn3").click(function(){
					//获取select选中的值
					var obj = $("select>option:selected");
					for(var i=0;i<obj.length;i++){
						var dom = obj[i];
						var jobj = $(dom);
						alert(jobj.val());
					}
				})
				
			})
		</script>
		<input type="text" value="text1" id="txt1" /><br>
		<input type="text" value="text2" id="txt2" disabled="true"/><br>
		<input type="text" value="text3" id="txt3" /><br>
		<input type="text" value="text4" id="txt4" disabled="true"/><br>
		<br>
		<input type="checkbox" value="游泳" />游泳<br>
		<input type="checkbox" value="健身" checked />健身<br>
		<input type="checkbox" value="电子游戏" checked />电子游戏<br>
		<br>
		<select id="yuyan">
			<option value="java">java语言</option>
			<option value="go" select >go语言</option>
			<option value="python">python语言</option>
		</select>
		<br>
		<br>
		<input type="button" value="设置可以的text的value是hello" id="btn1"  /><br> 
		<button id="btn2">显示选中的复选框的值</button><br>
		<button id="btn3">获取select选中的值</button>
	</body>

六、函数

1、val()

操作对象的value属性值

2、text()

操作标签的文本内容

3、attr()

操作对象的value,文本以外的属性,例如:转换图片

4、remove()

删除dom对象和它的子对象,例如:删除多选框全部内容

5、empty()

删除dom的子对象

6、apppend()

添加dom对象

7、html()

操作文本标签,和JS中的innerHTML的作用一样

8、each()

循环函数,还可以循环数组,JSON对象,jquery对象

  • 静态函数调用:$.each(要遍历的对象,function(index,element){处理程序})
  • 使用jquery对象调用:jquery对象.each(function(index,element){处理程序})

示例代码1:

<body>
		<script type="text/javascript" src="js/jquery-3.4.1.js"></script>
		<script type="text/javascript">
			$(function(){
				$("#btn1").click(function(){
					//读取第一个文本框的值
					//val()获取dom数组中第一个对象的value属性值
					var obj = $(":text").val();
					alert(obj);
				})
				
				$("#btn2").click(function(){
					//设置所有的text的value为新值
					var obj = $(":text").val("三国演义");
				})
				
				$("#btn3").click(function(){
					//获取div,text()参数,获取文本值,连接成字符串
					alert($("div").text());
				})
				
				$("#btn4").click(function(){
					//设置div的文本
					var obj = $("div").text("给div文本赋值");
				})
				
				$("#btn5").click(function(){
					//读取相片属性的值
					alert($("img").attr("src"));
				})
				
				$("#btn6").click(function(){
					//设置照片属性的值
					$("img").attr("src","img/a.jpg.jpeg");
				})
			})		
		</script>
		<input type="text" value="刘备" id="txt1" />
		<input type="text" value="关羽" id="txt2" /><br>
		<input type="text" value="张飞" id="txt3" /><br>
		<br>
		<div>我是第一个div</div>
		<div>我是第二个div</div>
		<div>我是第三个div</div>
		<br>
		<img src="img/aa972d47dec755eea813c22d2d42870d.jpeg" id="img" />
		<br>
		<input type="button" value="获取第一文本框的值" id="btn1" /><br>
		<input type="button" value="设置所有的text的value为新值" id="btn2" /><br>
		<input type="button" value="获取div,text()参数,获取文本值,连接成字符串" id="btn3" /><br>
		<input type="button" value="设置div的文本" id="btn4" /><br>
		<input type="button" value="读取相片属性的值" id="btn5" /><br>
		<input type="button" value="设置相片属性的值" id="btn6" /><br>
	</body>

示例代码2:

<body>
		<script type="text/javascript" src="js/jquery-3.4.1.js"></script>
		<script type="text/javascript">
			//在dom对象创建好后,绑定事件
			$(function(){
				$("#btn1").click(function(){
					//使用remove:删除父与子所有的dom对象
					$("select").remove();
				})
				
				$("#btn2").click(function(){
					//使用empty 删除子dom对象
					$("select").empty();
				})
				
				$("#btn3").click(function(){
					//使用append,增加dom对象
					$("div").append("<input type='button' value='新增加的按钮'>");
				})
				
				$("#btn4").click(function(){
					//使用html()函数,获取数组中第一个dom对象的文本值(innerHTML)
					alert($("span:first").text());//我是mysql数据库
					alert($("span:first").html());//我是mysql数据库
				})
				
				$("#btn5").click(function(){
					$("span:first").text("我是张三!")
					$("span:first").html("我是张三!")
				})
				
				$("#btn6").click(function(){
					//循环普通数组,非dom数组
					var arr = [12,58,35];
					$.each(arr,function(index,element){
						alert("循环变量" + index + "=========数组成员" + element);
				   })
				})
				
				$("#btn7").click(function(){
					//循环json
					var json = {"name":"张三","age":"20"};
					$.each(json,function(i,n){
						alert("i的key值=" + i + ",n的值value=" + n);
					});
				})
				
				$("#btn8").click(function(){
					//循环dom数组
				        var domArray = $(":text");
						$.each(domArray,function(i,n){
						    alert("i= " + i + " ,n=" + n.value);
						})
				})
				
				$("#btn9").click(function(){
					//循环jquery数组
					$(":text").each(function(i,n){
						alert("i= " + i + " ,n=" + n.value);
					})
				})
			})
		</script>
		<input type="text" value="刘备" id="txt1" /><br>
		<input type="text" value="关羽" id="txt2" /><br>
		<input type="text" value="张飞" id="txt3" /><br>
		<select>
			<option value="老虎">老虎</option>
			<option value="狮子">狮子</option>
			<option value="豹子">豹子</option>
		</select>
		<br>
		<br>
		<select>
			<option value="亚洲">亚洲</option>
			<option value="欧洲">欧洲</option>
			<option value="美洲">美洲</option>
		</select>
		<br>
		<br>
		<span>我是mysql <b>数据库</b></span>
		<br>
		<span>我是jdbc</span>
		<br>
		<br>
		<div id="father">我是第一个div</div>
		<br>
		<input type="button" value="使用remove删除父和子对象" id="btn1" /><br>
		<input type="button" value="使用empty删除子对象" id="btn2" /><br>
		<input type="button" value="使用appand,增加dom" id="btn3" /><br>
		<input type="button" value="使用获取第一个dom的文本值" id="btn4" /><br>
		<input type="button" value="设置span的dom文本值" id="btn5" /><br>
		<input type="button" value="循环普通数组" id="btn6" /><br>
		<input type="button" value="循环json" id="btn7" /><br>
		<input type="button" value="循环dom数组" id="btn8" /><br>
		<input type="button" value="循环jquery对象" id="btn9" /><br>
	</body>

七、事件

1、绑定事件

$(选择器).事件名称(事件的处理函数)

$(选择器):定位dom对象, dom对象可以有多个, 这些dom对象都绑定事件了
   事件名称:就是js中事件去掉on的部分, 例如 js中的单击事件 onclick(),
       jquery中的事件名称,就是click,都是小写的。
   事件的处理函数:就是一个function ,当事件发生时,执行这个函数的内容。

例如给id是btn的按钮绑定单击事件

	$("#btn").click(funtion(){
      alert("btn按钮单击了")
	})

2、on绑定事件

$(选择器).on( 事件名称 , 事件的处理函数)

事件名称: 就是js事件中去掉on的部分, 例如js中onclick ,这里就是click
事件的处理函数: function 定义。

例如,

 <input type="button" id="btn">
   $("#btn").on("click", function() { 处理按钮单击 } )

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五度鱼Java

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值