JavaWeb学习笔记2—jQuery

学习视频地址

1. helloWorld

image-20220130115137686

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="jquery.js"></script>
    <script type="text/javascript">
         // alert($); 有值 说明引入成功
         $(function (){  //页面加载完成后.... ,相当于 window.onload =function (){
             var $btnObj =$("#btnId"); //表示 按id查询 jQ对象 命名前面加一个$
             $btnObj.click(function (){
                 alert("JQuery 的单击事件")
             });
         })
    </script>
</head>
<body>
<button id="btnId">按钮</button>
  
</body>
</html>

2.函数核心介绍

image-20220130143548374

image-20220130144042677

image-20220130144019707如下:

image-20220130143904199

image-20220130145128728

标签名查:

image-20220130145517373

image-20220130145402534

3.区分dom对象和JQurey对象

image-20220130162254797

image-20220130162352894

  • jQuery对象是dom对象的数组+ jQuery提供的一系列功能函数。

    $a[0] 其实是一个dom对象(命名默认前面有$,是jq对象)

  • image-20220130163447548

  • 相互转化

    image-20220130163613510

4.Jquery选择器

(1).基本选择器

image-20220130172549984

$("p.myClass")

image-20220130174227463

image-20220130174353134

顺序和页面标签的顺序有关

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<title>Untitled Document</title>
		<style type="text/css">
			div, span, p {
			    width: 140px;
			    height: 140px;
			    margin: 5px;
			    background: #aaa;
			    border: #000 1px solid;
			    float: left;
			    font-size: 17px;
			    font-family: Verdana;
			}
			
			div.mini {
			    width: 55px;
			    height: 55px;
			    background-color: #aaa;
			    font-size: 12px;
			}
			
			div.hide {
			    display: none;
			}
		</style>
		<script type="text/javascript" src="../script/jquery-1.7.2.js"></script>
		<script type="text/javascript">
			
				//1.选择 id 为 one 的元素 "background-color","#bbffaa"
				$(function (){
					$("#btn1").click(function (){
						//css 方法设置和获取样式
						$("#one").css("background-color","red");

					})
				})
				//2.选择 class 为 mini 的所有元素
				$(function (){
					$("#btn2").click(function (){
						//css 方法设置和获取样式
						$(".mini").css("background-color","#bbffaa")

					})

				})

				//3.选择 元素名是 div 的所有元素 
				$(function (){
					$("#btn3").click(function (){
						//css 方法设置和获取样式
						$("div").css("background-color","#bbffaa")

					})
				})

				//4.选择所有的元素 
				$(function (){
					$("#btn4").click(function (){
						$("*").css("background-color","#bbffaa")

					})
				})

				//5.选择所有的 span 元素和id为two的元素   
				$(function (){
					$("#btn5").click(function (){
						$("span,#two").css("background-color","#bbffaa")

					})
				})




		</script>
	</head>
	<body>
<!-- 	<div>
		<h1>基本选择器</h1>
	</div>	 -->	
		<input type="button" value="选择 id 为 one 的元素" id="btn1" />
		<input type="button" value="选择 class 为 mini 的所有元素" id="btn2" />
		<input type="button" value="选择 元素名是 div 的所有元素" id="btn3" />
		<input type="button" value="选择 所有的元素" id="btn4" />
		<input type="button" value="选择 所有的 span 元素和id为two的元素" id="btn5" />
		
		<br>
		<div class="one" id="one">
			id 为 one,class 为 one 的div
			<div class="mini">class为mini</div>
		</div>
		<div class="one" id="two" title="test">
			id为two,class为one,title为test的div
			<div class="mini" title="other">class为mini,title为other</div>
			<div class="mini" title="test">class为mini,title为test</div>
		</div>
		<div class="one">
			<div class="mini">class为mini</div>
			<div class="mini">class为mini</div>
			<div class="mini">class为mini</div>
			<div class="mini"></div>
		</div>
		<div class="one">
			<div class="mini">class为mini</div>
			<div class="mini">class为mini</div>
			<div class="mini">class为mini</div>
			<div class="mini" title="tesst">class为mini,title为tesst</div>
		</div>
		<div style="display:none;" class="none">style的display为"none"的div</div>
		<div class="hide">class为"hide"的div</div>
		<div>
			包含input的type为"hidden"的div<input type="hidden" size="8">
		</div>
		<span class="one" id="span">^^span元素^^</span>
	</body>
</html>
(2).层级选择器
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<title>Untitled Document</title>
		<style type="text/css">
			div, span, p {
			    width: 140px;
			    height: 140px;
			    margin: 5px;
			    background: #aaa;
			    border: #000 1px solid;
			    float: left;
			    font-size: 17px;
			    font-family: Verdana;
			}
			
			div.mini {
			    width: 55px;
			    height: 55px;
			    background-color: #aaa;
			    font-size: 12px;
			}
			
			div.hide {
			    display: none;
			}			
		</style>
		<script type="text/javascript" src="../script/jquery-1.7.2.js"></script>
		<script type="text/javascript">
			$(document).ready(function(){  //以前的是简写
				//1.选择 body 内的所有 div 元素 
				$("#btn1").click(function(){
					$("body div").css("background", "#bbffaa");
				});

				//2.在 body 内, 选择div子元素  
				$("#btn2").click(function(){
					$("body>div").css("background", "#bbffaa");
				});

				//3.选择 id 为 one 的下一个 div 元素 
				$("#btn3").click(function(){
					$("#one+div").css("background", "#bbffaa");
				});

				//4.选择 id 为 two 的元素后面的所有 div 兄弟元素
				$("#btn4").click(function(){
					$("#two~div").css("background", "#bbffaa");
				});
			});
		</script>
	</head>
	<body>	
	
<!-- 	<div>
		<h1>层级选择器:根据元素的层级关系选择元素</h1>
		ancestor descendant  :
		parent > child 		   :
		prev + next 		   :
		prev ~ siblings 	   :
	</div>	 -->
		<input type="button" value="选择 body 内的所有 div 元素" id="btn1" />
		<input type="button" value="在 body 内, 选择div子元素" id="btn2" />
		<input type="button" value="选择 id 为 one 的下一个 div 元素" id="btn3" />
		<input type="button" value="选择 id 为 two 的元素后面的所有 div 兄弟元素" id="btn4" />
		<br><br>
		<div class="one" id="one">
			id 为 one,class 为 one 的div
			<div class="mini">class为mini</div>
		</div>
		<div class="one" id="two" title="test">
			id为two,class为one,title为test的div
			<div class="mini" title="other">class为mini,title为other</div>
			<div class="mini" title="test">class为mini,title为test</div>
		</div>
		<div class="one">
			<div class="mini">class为mini</div>
			<div class="mini">class为mini</div>
			<div class="mini">class为mini</div>
			<div class="mini"></div>
		</div>
		<div class="one">
			<div class="mini">class为mini</div>
			<div class="mini">class为mini</div>
			<div class="mini">class为mini</div>
			<div class="mini" title="tesst">class为mini,title为tesst</div>
		</div>
		<div style="display:none;" class="none">style的display为"none"的div</div>
		<div class="hide">class为"hide"的div</div>
		<div>
			包含input的type为"hidden"的div<input type="hidden" size="8">
		</div>
		<span id="span">^^span元素^^</span>
	</body>
</html>
(3).基本的过滤选择器

使用时查看CHM。

image-20220130204243670

image-20220130213136542

(4).内容过滤选择器

image-20220131101131134

(5).属性过滤选择器

image-20220131102522651

(6).表单过滤选择器

注意点:

  • 可用和不可用属性

  • 相当于dom对象的value属性 (!!表单项中的)

​ 不传参数是获取,传参是赋值。val(“xxxx”)

image-20220201192645781

  • 遍历方法

    image-20220201194028121

(7).表单对象属性过滤选择器

5.JQuery元素筛选

image-20220201195447000

image-20220202103352069

image-20220202103021189

image-20220202103107404

6.jquery的属性操作

image-20220202110443707

  • text()文本 包括后代节点中的文本

  • 注意:val 是设置获取表单项的value 。div,span…不是表单项。

  • val方法还可以同时设置多个表单项的选中状态: 加【】

    image-20220202113358417

image-20220202120141401

prop解决了 attr(checked) 可能 返回undefined的问题

下图是attr获取和设置普通属性,

7.DOM的增删改

image-20220203092457546

image-20220203092548869

image-20220203092827204

创建一个h1插入到两个div中

image-20220203095356151

8.css样式操作

image-20220203134500883

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<style type="text/css">
	
	div{
		width:100px;
		height:260px;
	}
/*
	div 表示限制只能div使用 .border表示给border类使用
*/
	div.border{
		border: 2px white solid;
	}
	
	div.redDiv{
		background-color: red;
	}
	
	div.blackDiv{
		border: 5px blue solid;
	}
	
</style>

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

	$(function(){
		/*
CSS
css(name|pro|[,val|fn])       读写匹配元素的样式属性。 
								a.css('color')取出a元素的color
								a.css('color',"red")设置a元素的color为red

CSS 类

addClass(class|fn) 			为元素添加一个class值;<div class="mini big">
removeClass([class|fn]) 	删除元素的class值;传递一个具体的class值,就会删除具体的某个class
							a.removeClass():移除所有的class值

**/
		
		var $divEle = $('div:first');
		
		$('#btn01').click(function(){
			//addClass() - 向被选元素添加一个或多个类
			$divEle.addClass("redDiv blackDiv");
		});
		
		$('#btn02').click(function(){
			//removeClass() - 从被选元素删除一个或多个类 
			$divEle.removeClass()
		});

		
		$('#btn03').click(function(){
			//toggleClass() - 对被选元素进行添加/删除类的切换操作 
			//切换就是如果具有该类那么删除,如果没有那么添加上
			$divEle.toggleClass("redDiv");
		});
		
		$('#btn04').click(function(){
			//offset() - 返回第一个匹配元素相对于文档的位置。
			var os = $divEle.offset();
			//注意通过offset获取到的是一个对象,这个对象有两个属性top表示顶边距,left表示左边距
			alert("顶边距:"+os.top+" 左边距:"+os.left);
			
			//调用offset设置元素位置时,也需要传递一个js对象,对象有两个属性top和left
			//offset({ top: 10, left: 30 });
			 $divEle.offset({
				 top:50,
				 left:60
			 }); 
		});
		
	})
</script>
</head>
<body>

	<table align="center">
		<tr>
			<td>
				<div class="border">
				</div>
			</td>
			
			<td>
				<div class="btn">
					<input type="button" value="addClass()" id="btn01"/>
					<input type="button" value="removeClass()" id="btn02"/>
					<input type="button" value="toggleClass()" id="btn03"/>
					<input type="button" value="offset()" id="btn04"/>
				</div>
			</td>
		</tr>
	</table>
	
	<br /> <br />
	
	<br /> <br />
	
</body>
</html>

9.JQuery动画

image-20220203161643202

image-20220203162057844

image-20220203161350905

image-20220203162157325

透明度:0~1;

10.原生js和jQuery页面加载完成之后的区别

image-20220203192214264

image-20220203193015331

如下,原生js会等img 和iframe 都加载完

image-20220203192112076

image-20220203192822307

11.JQuery中常用事件处理方法

image-20220203211523359

image-20220203213448210

image-20220206203858898

image-20220203212058270

image-20220203213034586

无参数就是全部解除绑定

12.事件的冒泡

image-20220203214215701

比如 div 里面 有个span ,span和div都有点击事件, 你点击了span,那么span和div会先后触发点击事件

image-20220203214413862

span事件里加return false解决。

13.事件对象

image-20220203215011567

下图就是这个js对象里的信息:

image-20220203215218569

使用举例:

可以实现丰富的功能

image-20220203215638321

14.练习—图片跟随

image-20220204105230645

左上到右下会闪,因为进入了大图片,页面以为出去了小图片,大图片hide,然后页面又以为进入了小图片。解决:

image-20220204110208820

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值