jquery

一、简介

1.jquery是什么

jQuery是js的一个库,封装了我们开发过程中常用的一些功能,方便我们来调用,提高了我们的开发效率。Js库是把我们常用的功能放到一个单独的文件中,我们用的时候,直接引用到页面里面来就可以了。

2.jquery主要学习什么

目前这个阶段,主要学习如何来使用jQuery操作DOM,其实就是学习jQuery封装好的那些功能方法。

3.jquery版本

版本一:1.x版本
版本二:2.x版本
版本三: 3.x版本

两个版本的区别:2.x版本,不再支持IE6、7、8
同版本两个文件的区别:

同版本两个文件的区别:

​ min:压缩版,压缩过后,体积会更小
​ 压缩指的是:把注释、空格、换行全部去掉,把变量名称尽可能的换成更
​ 加简短的字符。
​ 压缩的主要目的:就是让文件变的更小。

平时开发过程中,这两个文件使用哪个都可以;但是,项目上线的时候
推荐使用压缩版。

4.获取jquery资源

wget https://code.jquery.com/jquery-3.4.1.min.js

5.使用jquery的步骤

5.1 引入jquery
<head>
	<meta charset="utf-8">
    <script type="text/javascript" src="lib/jquery-3.4.1.min.js"></script>
</head>


5.2 入口函数

入口函数:就是浏览器加载完文档后一定会调用入口函数中的内容并且执行。正常我们写的函数是必须需要调用才能执行

<script>
	$(document).ready(function(){
    	alert(11111);
	});
</script>

解释:
	1.$(document) : $是jquery种的函数名称,document是函数的参数,作用是将document对象变成jquery函数库中可以使用的对象
    2.ready: ready是jquery中的函数,当页面dom对象加载成功后会执行ready函数的内容。ready相当于onload事件。
    3.function(): 自定义的函数,表示onload后要执行的功能

可以简写为:
<script>
    	$(function(){
    		代码
  		})
</script>

5.jquery的第一个例子

<!DOCTYPE html>
<html>
        <head>
                <meta charset="utf-8">
                <script type="text/javascript" src="jquery-3.4.1.min.js"></script>
                <script type="text/javascript">
                        $(document).ready(function(){
                                alert('hello world')
                        })
                </script>
        </head>
<body>
</body>
</html

二、DOM对象和jquery对象

<!DOCTYPE html>
<html>
        <head>
                <meta charset="utf-8">
                <script type="text/javascript" src="lib/jquery-3.4.1.min.js"></script>
                <script type="text/javascript">
                        $(function() {
                    			#使用原生js获取对象元素
                                var data1 = document.querySelector("#test");
                    			#使用jquery获取对象元素
                                var data2 = $("#test");
                                console.log(data1);
                                console.log(data2);
                        
                        })
                </script>
        </head>
<body>
        <div id='test'></div>
</body>
</html>

1.jquery对象

Jquery对象是一个数组,数组中包含着原生js中的DOM对象。

这里的data2就是jquery对象
var data2 = $("#test");


使用jquery获取后的对象是这样的:
k.fn.init [div#test]   :是一个数组

2.DOM对象

使用javascrip的语法常见的对象就叫做DOM对象。

这里的data1就是DOM对象
var data1 = document.querySelector("#test");


使用DOM 获取的对象原始是这样的
<div id='test'></div>

3.jquery和DOM对象的相互转换

为什么要互相转换, 当你是DOM对象时,可以使用DOM对象的属性或者方法,如果你要使用jquery提供的的函数,就必须要转换成jquery才行。

3.1 dom转jquery
语法:
	$(dom对象)
3.2 jquery转换成dom
取出jquery数组中的第一个对象 就是DOM对象

三、jquery选择器

选择器名称语法格式注释
id选择器$(“#id名”)基本选择器
类选择器$(“.class名称”)基本选择器
标签选择器$(“标签名称”)基本选择器
混合选择器$(“#id名,.类名,标签”)可以同时选择多个不同类型的元素
子代选择器$(“父标签 子标签”)包含所有的子标签,不论层级
后代选择器$(“父标签 > 子标签”)包含一级子标签。不包含子子标签 子子子标签
表单选择器$(“:type的属性值”)比如:$(“:text”) 选取所有单排文本框
$(“:password”) 选取所有的密码框
$(“:radio”)选取所有的单选框 等等

例子1: 基本选择器

button按钮的onclick事件分别调用test和div函数就能看到 我们通过jquery对象获取到了3个不同的div元素

<html>
	<head>
		<meta charset="utf-8">
		<script type="text/javascript" src="lib/jquery-3.4.1.min.js"></script>
		<style>
			div {
				width:200px;
				height:200px;
				background:pink;
				border: solid 1px blue; 
			}
			button {
				width:50px;
				height:30px;
				background: yellow;
			}
		</style>
	</head>



<body>
	<div id="test"></div>
	<div class="test1"></div>
	<div ></div>
	<button onclick="div()">按钮</button>
</body>

<script type="text/javascript">
	function test(){
		var test = $("#test");
		var test1 = $(".test1")
		test.css("background",'red');
		test1.css("background",'red');

	}
	function div(){
		var div_all = $("div");
		div_all.css("background","yellow");
	}
</script>
</html>

例子2:混合选择器

function test(){
                var test = $("#test,.test1,span");
                test.css("background",'red');
}

例子3:子代选择器

<html>
	<head>
		<meta charset="utf-8">
		<script type="text/javascript" src="lib/jquery-3.4.1.min.js"></script>
		<style>
			ul,ol {
				margin:0px;
				padding:0px;
				list-style:none;
				background: red;
			}
			span,div {
				width:200px;
				height:200px;
				background:pink;
				border: solid 1px blue; 
			}
			button {
				width:50px;
				height:30px;
				background: yellow;
			}
		</style>
	</head>

<body>
	<ul>
		<ul>
			<li>无需列表</li>
		</ul>
		<ol>
			<li>有序列表</li>
			<ol>
				<li>有序列表1</li>
			</ol>
		</ol>
	</ul>
	<button onclick="test()">按钮</button>
	
</body>

<script type="text/javascript">
	function test(){
		var test = $("ul > ol");
		test.css("background",'yellow');

	}
</script>
</html>

四、过滤器

过滤器不能单独用,必须要在选择器的基础上结合使用

过滤器含义
$(“选择器:first”)获取第一个dom对象
$(“选择器:last”)获取最后一个dom对象
$(“选择器:eq(数组中的下标)”)获取指定下标的dom对象
$(“选择器:lt(下标)”)获取小于下标的所有dom对象
$(“选择器:gt(下标)”)获取小于下标的所有dom对象

例子:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>测试项目</title>
		<script src="./lib/jquery-3.4.1.min.js" type="text/javascript" charset="utf-8"></script>
		<style type="text/css">
			* {
				margin: 0px;
				padding: 0px;
			}
			div {
				background-color: gray;
				width: 100px;
				height: 100px;
				border-bottom: solid 1px red;
			}
		
		</style>
	</head>
	<body>
		<div>我是第1个div</div>
		<div>我是第2个div</div>
		<div>我是第3个div</div>
		<div>我是第4个div</div>
		<button type="button" onclick="d1()">选择第1个div</button>
		<button type="button" onclick="d2()">选择第2个div</button>
		<button type="button" onclick="c1()">选择第3个div</button>
		<button type="button" onclick="c2()">选择第4个div</button>
		
	</body>
	
	
	<script type="text/javascript">
		function d1() {
			var div1 = $("div:first");
			div1.css("background","red");
		}
		function d2(){
			var div2 = $("div:eq(1)")
			div2.css("background","red");
		}
		function c1(){
			var div3 = $("div:lt(3)");
			div3.css("background","red");
		}
		function c2(){
			var div4 = $("div:last");
			div4.css("background","red");
		}
	</script>

</html>

五、jquery中的事件绑定方式

事件函数含义
click()鼠标点击事件
mouseover()鼠标移入事件
mouseout()鼠标移出事件
语法:
$(选择器).事件名称(处理函数)

jquery提供了事件函数,就不需要在标签中使用onclick调用函数了

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>测试项目</title>
		<script src="./lib/jquery-3.4.1.min.js" type="text/javascript" charset="utf-8"></script>
		<style type="text/css">
			* {
				margin: 0px;
				padding: 0px;
			}
			div {
				background-color: gray;
				width: 100px;
				height: 100px;
				border-bottom: solid 1px red;
			}
		
		</style>
	</head>
	<body>
		<div>我是第1个div</div>
		<div>我是第2个div</div>
		<div>我是第3个div</div>
		<div>我是第4个div</div>
		<button type="button">选择第1个div</button>
		<button type="button">选择第2个div</button>
		<button type="button">选择第3个div</button>
		<button type="button">选择第4个div</button>
		
	</body>
	
	<!-- 这里就是使用jquery的事件绑定语法写的绑定事件 -->
	<script type="text/javascript">
		$("button:first").click(function(){
			$("div:first").css("background","red");
		})
	</script>

</html>

六、jquery常用函数

函数名含义
$(‘选择器’).css()上边的的例子中都用到这个函数了,修改元素的CSS样式
$(“选择器”).val()获取标签的value属性值
$(“选择器”).text()获取所有dom对象的文字显示内容
$(“选择器”).attr(“属性名”)获取DOM对象的属性值

1.val函数

<input type="text" name="zhangfei" id="zf" value="张飞" />
<input type="text" name="liubei" id="lb" value="刘备" />
<input type="text" name="guanyu" id="gy" value="关羽" />

<script type="text/javascript">
		var data = $("input:eq(1)").val();
		console.log(data);
		
		// 修改value的value值
		$("input:eq(1)").val("刘备1");
		console.log($("input:eq(1)").val());

</script>

2.text()函数

<body>
		<div>我是第一个div</div>
		<div>我是第二个div</div>
		<div>我是第三个div</div>
	
		<button>大按钮</button>
</body>
	

	<script type="text/javascript">
		$("button").click(function(){
			var data = $("div:eq(1)").text();
			alert(data);
			$("div:eq(1)").text('我是修改后的第二个div');
			
		})
		
</script>

3.attr()函数

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>测试项目</title>
		<script src="./lib/jquery-3.4.1.min.js" type="text/javascript" charset="utf-8"></script>
		<style type="text/css">
			* {
				margin: 0px;
				padding: 0px;
			}
			div {
				background-color: gray;
				width: 100px;
				height: 100px;
				border-bottom: solid 1px red;
			}
			.test {
				background: red;
			}
		
		</style>
	</head>
	<body>
		<div>我是第一个div</div>
		<div>我是第二个div</div>
		<div>我是第三个div</div>
	
		<button>大按钮</button>
	</body>
	

	<script type="text/javascript">
		$("button").click(function(){
			$("div:eq(1)").attr('class','test');
		})
		
	</script>

</html>

4.each函数

这个函数主要是可以循环js数据、dom对象数据、json数据

语法:

$("选择器").each(function(自定义索引变量,自定义数据变量){
	语句
})
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>测试项目</title>
		<script src="./lib/jquery-3.4.1.min.js" type="text/javascript" charset="utf-8"></script>
		<style type="text/css">
			* {
				margin: 0px;
				padding: 0px;
			}
			div {
				background-color: gray;
				width: 100px;
				height: 100px;
				border-bottom: solid 1px red;
			}
			.test {
				background: red;
			}
		
		</style>
	</head>
	<body>
		<div id="t1">我是第一个div</div>
		<div id="t2">我是第二个div</div>
		<div id="t3">我是第三个div</div>
	
		<button>大按钮</button>
	</body>
	

	<script type="text/javascript">
		$("button").click(function(){
			$("div").each(function(index,data){
				alert('索引为' + index + '的div的值为' + $(data).text());
			})
		})
		
	</script>

</html>

注意:这里的data之所有加上$()是为了把data转换成jquery对象。

七、jquery的ajax函数

$相当于一个类

1.$.ajax()

jquery中实现ajax的核心函数。他的参数是个json的结构

格式是这样的格式,但是返回的结果被浏览器阻止了	
<script type="text/javascript">
		$.ajax({
			url: "https://www.baidu.com",
    		method: 'POST',
    		data: {name: 'zhangsan',age: 18},
			success: function(res){
				console.log(res);
			}
		})
	</script>

2.$.post()

使用post的方式发送ajax请求

3.$.get()

使用get的方式发送请求

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值