JQuery学习笔记 day01(基础)

Jquery


1.什么是Jquery

JS前端框架有很多,比如:prototype、Jquery、Vue.js、Angular.js、node.js....
Jquery就是其中之一,因为通用极好,所以被广泛使用。
现在多用于写一些项目的后台UI。
国内主流:vue.js + ElementUI

2.Jquery的设计思想

Jquery将原始的dom对象封装成一个Jquery对象,然后,通过调用Jquery的内置函数来
实现对原始dom节点的操作。
Jquery不用考虑兼容问题,因为强大的Jquery把兼容问题全部解决了。

3.导入Jquery

Jquery下载地址:https://jquery.com/

<!-- 导入Jquery包 -->
<script src="../js/jquery-3.4.1.min.js"></script>

4.Jquery与js的区别

  • js语法

    //获取下标为0的div节点
    var div = document.getElementsByTagName('div')[0];
    //设置节点的样式
    div.style.width = '100px';
    div.style.height = '100px';
    div.style.backgroundColor = "red";
    
  • Jquery语法

    $("div:eq(0)").css({
    	"width":"100px",
    	"height":"100px",
    	"background-color":"pink"
    });
    
对比js语法  ,JQuery语法更加简便,并且功能非常强大

5.选择器

1.什么是选择器

用于过滤页面的节点,查找指定的节点,然后操作节点。

2.选择器分类

1.基本选择器
2.层次选择器
3.属性选择器
4.筛选器
5.表单选择器

3.基本选择器

1.标签选择器
2.id选择器
3.类选择器

标签选择器:

var p = $('p');

ID选择器:

var p = $('#p5');

类选择器:

var p = $('.app');

4.层次选择器

1.直接子节点	> 		 $('#app > .s3')
2.后代节点   空格     $('#app .s3')
3.下一个同级节点	   $('#app + .s3')
4.下面的所有同级节点  $('#app ~ .s3')

直接子节点:
找到标签ID 为app 的类名.3直接子节点

<script>
			$(function(){
				$('#app > .s3').css("color","red");
			});
		</script>
	</head>
	<body>
		<div id="app">
			<span>不是app的直接子节点1</span>
			<div class="main">
				<span>不是app的直接子节点2</span>
			</div>
			<span>不是app的直接子节点3</span><br>
			<span class="s3">是app的直接子节点1</span>
			<p class="s3">是app的直接子节点2</p>
		</div>
	</body>

在这里插入图片描述

后代结点:
找到标签ID 为app 的类名.3所有后代节点

<script>
			$(function(){
				$('#app  .s3').css("color","red");
			});
		</script>
	</head>
	<body>
		<div id="app">
			<span>不是app的直接子节点1</span>
			<div class="main">
				<span>不是app的直接子节点2</span>
			</div>
			<span>不是app的直接子节点3</span><br>
			<span class="s3">是app的直接子节点1</span>
			<p class="s3">是app的直接子节点2</p>
			
			<div>
				<div>
					<div>
						<div>
							<p class="s3">很多代之后的p标签</p>
						</div>
					</div>
				</div>
			</div>
			
		</div>

在这里插入图片描述

下一个同级结点:
找到标签ID 为app 的下一个同级p标签

<script>
			$(function(){
				$('#app + p').css("color","pink");
			});
		</script>
	</head>
	<body>
		<div id="app">
		</div>
		<p>p1</p>
		<p>p2</p>
	</body>

在这里插入图片描述

下面所有同级结点:
找到标签ID 为app 的下面所有同级p标签

	<script>
			$(function(){
				$('#app ~ p').css("color","red");
			});
		</script>
	</head>
	<body>
		
		<p>p-1</p>
		<p>p0</p>
		
		<div id="app">
		</div>
		
		<p>p1</p>
		<p>p2</p>
		<span>s1</span>
		<p>p3</p>

在这里插入图片描述

5.属性选择器

1.包含指定属性名的节点			[属性名]
2.包含指定属性名及属性值的节点     [属性名=属性值]
3.以指定属性值开头的节点		   [属性名^=属性值]
4.以指定属性值结尾的节点		   [属性名$=属性值]
5.包含指定属性值的节点   		    [属性名*=属性值]

1.包含指定属性名的节点 [属性名]

<script>
			$(function() {
				//查找包含data-els属性的节点
				//$('[data-els]').css("color","red");
				//查找包含data-els属性的span的节点
				//$('span[data-els]').css("color","red");
				$('p[data-els].p5').css("color","red");
			});
		</script>
	</head>
	<body>
		<p data-els="123456">p1</p>
		<p>p2</p>
		<p>p3</p>
		<span data-els="123456">p4</span>
		<p class="p5" data-els="123456">p5</p>
	</body>

在这里插入图片描述2.包含指定属性名及属性值的节点 [属性名=属性值]

<script>
			$(function() {
				$('p[data-els=123]').css("color","red");
			
			});
		</script>
	</head>
	<body>
		<p data-els="abc">p1</p>
		<p>p2</p>
		<p>p3</p>
		<span data-els="123">p4</span>
		<p class="p5" data-els="123">p5</p>
		<p class="p6" data-els="123456">p6</p>
	</body>

在这里插入图片描述

3.以指定属性值开头的节点 [属性名^=属性值]

<script>
			$(function(){
				$('[data-els^="y"]').css("color","red");
			});
		</script>
	</head>
	<body>
		<p data-els="ykdong">p1</p>
	</body>

4.以指定属性值结尾的节点 [属性名$=属性值]

<script>
			$(function(){
				$('[data-els$="g"]').css("color","red");
			});
		</script>
	</head>
	<body>
		<p data-els="ykdong">p1</p>
		<p data-els="jfjhfdhg">2</p>
	</body>

5.包含指定属性值的节点 [属性名*=属性值]

<script>
			$(function(){
				$('[data-els*="d"]').css("color","red");
			});
		</script>
	</head>
	<body>
		<p data-els="ykdong">p1</p>
		<p data-els="jfjhfdhg">p2</p>
	</body>

6.筛选器

1.查找第一个元素	$("ul > li:first")
2.查找最后一个元素 $("ul > li:last")
3.查找指定下标的元素 $("ul > li:eq(0)")
4.查找下标为偶数的元素 $("ul > li:even")
5.查找下标为奇数的元素 $("ul > li:odd")
6.查找大于下标的元素 $("ul > li:gt(2)")
7.7.查找小于下标的元素 $("ul > li:lt(2)")

1.查找第一个元素 $(“ul > li:first”):

<script>
			$(function(){
				$("ul > li:first").css('color','red');
			});
		</script>
	</head>
	<body>
		<ul>
			<li>经济</li>
			<li>军事</li>
			<li>疫情</li>
			<li>房产</li>
			<li>教育</li>
			<li>医疗</li>
		</ul>
	</body>

在这里插入图片描述
2.查找最后一个元素 $(“ul > li:last”)

<script>
			$(function(){
				$("ul > li:last").css('color','red');
			});
		</script>

3.查找指定下标的元素 $(“ul > li:eq(0)”)

<script>
			$(function(){
				$("ul > li:eq(3)").css('color','red');
			});
		</script>

4.查找下标为偶数的元素 $(“ul > li:even”)

<script>
			$(function(){
				$("ul > li:even").css('color','red');
			});
		</script>

5.查找下标为奇数的元素 $(“ul > li:odd”)

<script>
			$(function(){
				$("ul > li:odd").css('color','red');
			});
		</script>

6.查找大于下标的元素 $(“ul > li:gt(2)”)

<script>
			$(function(){
				$("ul > li:gt(2)").css('color','red');
			});
		</script>

7.7.查找小于下标的元素 $(“ul > li:lt(2)”)

<script>
			$(function(){
				$("ul > li:lt(2)").css('color','red');
			});
		</script>

7.表单选择器

1.匹配所有表单元素	$(":input")
2.匹配所有多选元素 $(':checkbox')
3.匹配所有文本元素$(':text')
4.匹配指定状态的元素$(':disabled')

1.匹配所有表单元素 $(“:input”)

var is = $(':input');

2.匹配所有多选元素 $(‘:checkbox’)

$(function(){
				//获取最后一个多选框,并且设置为选中不可修改状态。
				$(':checkbox:last').prop("checked",true).prop("disabled",true);
			})

3.匹配所有文本元素$(‘:text’)

	//获取所有表单元素
				var is = $(':text');

4.匹配指定状态的元素$(‘:disabled’)

//获取指定状态的节点
				$(':text:disabled').val('abcd');

6.遍历

1.集合中的第一个元素		    $("li").first()  
2.集合中的最后一个元素        $("li").last()
3.元素的下一个同级元素        $("li").next()	只查找指定节点的下一个元素
4.元素的上一个同级元素        $("li").prev()	只查找指定节点的上一个元素
5.元素的上面所有同级元素      $('#app').prevAll('.pre')
6.元素的下面所有同级元素      $('#app').nextAll('.pre')
7.指定节点的父节点           $('p:eq(0)').parent()
8.指定节点的所有父节点       $('p:eq(0)')parents('#app')
9.集合中的是定下标的元素	   $("li").eq(3)
10.指定节点的指定元素       $('#app').find('p:eq(0)')
11.指定节点的所有同级元素   $('#app').siblings('span')
12.指定节点的所有子元素    $('#app').children('span')
13.过滤选择器的元素       $("p").filter('[hello="world"]')
14.返回不匹配指定选择器的元素 $("p").not('[hello="world"]')

7.Jquery事件

1.鼠标事件

1.单击事件
2.双击事件
3.鼠标移入
4.鼠标移出
5.鼠标悬浮

单击

$('button').click(()=>{
					alert('单击事件被触发....');
				});

双击

$(function(){
				$('button').dblclick(()=>{
					alert('双击事件被触发....');
				});
			})

鼠标移入移出

$(function(){
				$('div:eq(0)').mouseover(()=>{
					$('div:eq(0)').css('background-color',"red");
				}).mouseout(()=>{
					$('div:eq(0)').css('background-color',"aqua");
				})
			})
$().mouseover()  and $().mouseout()

鼠标悬浮:

$(function(){
				$('div:eq(0)').hover(()=>{
					$('div:eq(0)').css('background-color',"red");
				});
			})

2.键盘事件

1.键盘按下  .keydown((event)
2.键盘抬起  .keyup((event)
3.表单事件  .submit() 提交  .change(function()) 选择框 .focus()焦点
                     .blur() 失去焦点

1.change
2.foucs
3.blur
4.submit

8.DOM

1.样式操作

addClass:

$("#d2").addClass("node");

css

$('p').css("color", "red");
$('#d1').css({
					"width": "100px",
					"height": "100",
					"background-color": "red",
				});

切换样式:

$("button").click(function(){
					$("#d3").toggleClass("node");
				})

2.属性操作

attr 适用于属性有具体值的属性
prop 适用于属性只有true和false的属性。

<body>
		<img src="" width="100" height="200"/>
		<a href="#">百度</a>
		<script>
			$('img').attr('src','../../img/lp.jpg');
			
			$('a').attr("href","https://www.baidu.com");
		</script>
		
	</body>

在这里插入图片描述

3.内容操作

text()

<script>
			$(function(){
				//设置文本方法
				$("p:eq(0)").text("<span>welcome to 蚌埠</span>")
				
				//获取文本
				var txt = $("p:eq(1)").text();
				
				console.log(txt);
			})

html()

<script>
			$(function(){
				//设置文本方法
				$("p:eq(0)").html("<span style='color:red'>welcome to 蚌埠</span>")
				
				//获取文本
				var txt = $("p:eq(1)").html();
				
				console.log(txt);
			})
		</script>

val()

<script>
			$(function(){
				//设置第一个输入框的值
				$(":input:eq(0)").val("蚌埠住了");
				
				
				//获取值
				console.log($(":input:eq(1)").val());
			})
		</script>

表单序列化:
与ajax 的xhr.send()方法比较 ,serialize() 可以提交更简便的提交一组数据

<form action="xxx.php">
			账号:<input type="text" name="username"/><br/>
			密码:<input type="password" name="password"/><br/>
			邮箱:<input type="email" name="email"/><br/>
			号码:<input type="text" name="tel"/><br/>
			性别:<input type="radio" value="0" name="sex" checked/><input type="radio" value="1" name="sex"><br/>
			<input type="submit" value="提交"/>
		</form>
		
		<button>异步提交</button>
		<script>
			$("button:eq(0)").click(function(){
				//序列化表单
				var form = $("form").serialize();
				console.log(form);
			})
		</script>

在这里插入图片描述

9.Jquery对ajax的支持【重点】

ajax();
该方法用于向指定的服务器发送一个异步请求
属性:
url:请求地址
type:请求方式
data:请求数据
dataType:响应的数据类型
text json
success:服务器返回成功后的回调函数。

ajax 提交到我们的IDEA tomcat 里面的部署sevlet 跨域提交

	<form action="wait">
			账号:<input type="text" name="username" />
			<span id="username_msg"></span>
			<br />
			密码:<input type="password" name="pwd" /><br />
			年龄:<input type="text" name="nl" /><br />
		</form>

		<button>发送ajax</button>

		<script>
			$("button:eq(0)").click(function() {
				$.ajax({
					url: "http://127.0.0.1:8080/01_ajax_wait_response_war_exploded/checkusername",
					type: "post",
					async:true,
					data: {
						"username": $(":input:eq(0)").val()
					},
					dataType: "text",
					success: function(data) {
						/*
							data就是服务器返回的数据。
							可以是任何类型。
						*/
						if(data == '√用户名可以使用'){
							$("#username_msg").text(data).css("color","green");
						}else{
							$("#username_msg").text(data).css("color","red");
						}
					}
				});
			});
		</script>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

huangshaohui00

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

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

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

打赏作者

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

抵扣说明:

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

余额充值