3-5 jQuery

简介

  • jQuery是javaScript的一个封装库。

学习网站

选择器

基础选择器

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>jquery示例</title>
		<!-- 引入css文件 -->
		<link rel="stylesheet" type="text/css" href="../css/main.css" />
		<!-- 引入jquery文件 -->
		<script type="text/javascript" src="../../js/jquery-1.9.1.min.js"></script>
		<!-- 引入自定义js文件 -->
		<script>
			function test(){
				// var ele = document.getElementById("t1");
				// console.info(ele.value);
				//1 ID选择器
				// var v = $("#t1").val();
				//2 class选择器
				// var v = $(".i1").val();
				//3 标签选择器
				// var arr = [];
				// arr = $("input");//获取所有input标签对象
				// for (var i = 0; i < arr.length; i++) {
				// 	console.info(arr[i].value);
				// }
				//4 属性选择器
				//获取所有type属性=password的input标签对象
				// var v = $("input[type=password]").val();
				// console.info(v);
				//5 层次选择器
				/*
				5.1 后代选择器$("M N")
				选择M元素内部的所有后代元素N
				*/
				// var content = $("div p").text();
				
				/*
				5.2 子代选择器$("M>N")
				选择M元素内部第一级的子代元素
				*/
			   // var content = $("div>p").text();
			   
			   /*
			   5.3 兄弟选择器$("M~N")
			   选择M元素后所有同级的N元素
			   */
			  // var arr = [];
			  // arr =  $("div~input");
			  // for (var i = 0; i < arr.length; i++) {
			  // 	console.info(arr[i].value);
			  // }
			  
			  /*
			  5.4 相邻选择器$("M+N")
			  选择M元素相邻的下一个元素N(M元素与N元素平级)
			  */
			 var arr = [];
			 arr =  $("div+input")
			 for (var i = 0; i < arr.length; i++) {
			 	console.info(arr[i].value);
			 }
			 
			   // console.info(content);
				
			}
		</script>
	</head>
	<body>
		
		
		<input type="text" id="t1" class="i1" placeholder="文本框1"/>
		<input type="text" id="t2" placeholder="文本框2"/>
		<div>
			<p>第一级p标签</p>
			<span>
				<p>第二级p标签</p>
			</span>
		</div>
		<input type="password" id="p1" placeholder="密码框1"/>
		
		<input type="button" value="测试"  onclick="test();"/>
	</body>
</html>

伪类选择器

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>jquery伪类选择器</title>
		<!-- 引入jquery文件 -->
		<script type="text/javascript" src="../../js/jquery-1.9.1.min.js"></script>
		<script>
			/*
			jquery中常见的伪类选择器有6种:
			1 简单伪类选择器
			2 子元素伪类选择器
			3 可见性伪类选择器
			4 内容伪类选择器
			5 表单伪类选择器
			6 表单属性伪类选择器
			*/
		   
		    
			function test(){
				/*
				1简单伪类选择器
				:first 选择某元素的第一个元素对象
				:last 选择某元素的最后一个元素对象
				:odd 选择某元素的索引值为奇数的元素
				:even 选择某元素的索引值为偶数的元素
				:eq(index) 选择给定索引值的元素,索引值index是一个整数,从0开始
				*/
				// var arr = [];
				// arr = $("input:eq(4)")
				// for(var i = 0; i < arr.length; i++){
				// 	console.info(arr[i].value);
				// }
				
				/*
				3 可见性伪类选择器
				:hidden 选取所有不可见的元素
				:visible 选取所有可见元素
				*/
				// var arr = [];
				// arr = $(":visible");
				// for (var i = 0; i < arr.length; i++) {
				// 	console.info(arr[i].id);
				// }
				
				/*
				5 表单伪类选择器
				:input 选择所有input元素,示例:$(":input")
				:button 选择所有普通按钮,即type="button"的input元素或button元素
				:submit 选择所有提交按钮
				:reset 选择所有重置按钮
				:text 选择所有单行文本框
				:textarea 选择所有多行文本框
				:password 选择所有密码框
				:radio 选择所有单选按钮
				:checkbox 选择所有复选框
				:image 选择所有图像域
				:hidden 选择所有隐藏域
				:file 选择所有文件域
				*/
			 
				/*
				6 表单属性伪类选择器
				:checked 选择所有被选中的表单元素,一般用于radio和checkbox ,示例:$(":checkbox:checked");
				option:selected 选择所有被选中的option元素 
				:enabled 选择所有可用元素,一般用于input/select/textarea
				:disabled 选择所有不可用元素,一般用于input/select/textarea
				:read-only 选择所有只读元素,一般用于input/textarea
				:focus 选择获得焦点的元素
				*/
			    var arr = [];
			    // arr = $("input[type=text]:read-only");
				arr = $(":focus");
			    for (var i = 0; i < arr.length; i++) {
					console.info(arr[i].value);
			    }
				
			}
		</script>
	</head>
	<body>
		<span id="aspan">123123</span>
		<div id="d">
			<input type="text" id="t1" value="a" disabled="disabled"/>
			<br>
			<input type="text" id="t2" value="b" readonly="readonly" />
			<br>
			<input type="text" id="t3" value="c" />
			<br>
			<input type="text" id="t4" value="d" />
			<br>
			<input type="text" id="t5" value="e" />
			<br>
		</div>
		<div>
			<input type="checkbox" name="city" value="1">北京
			<input type="checkbox" name="city" value="2">上海
			<input type="checkbox" name="city" value="3">广州
			<!-- 上传文件控件 -->
			<input type="file" id="file1" />
			<select>
				<option value="a">济南</option>
				<option value="b">青岛</option>
				<option value="c">曹县</option>
			</select>
		</div>
		<input type="submit" value="提交按钮"/>
		<button onclick="test();" value="123" >测试</button>
	</body>
</html>

操作属性

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>jquery操作HTML标签属性/CSS样式</title>
		<style>
			.p_class{
				color:red;
				font-size: 36px;
			}
			
			.p_class2{
				background-color: #00FFFF;
			}
		</style>
		<!-- 引入jquery文件 -->
		<script type="text/javascript" src="../../js/jquery-1.9.1.min.js"></script>
		<script>
			function test(){
				//1 获取(查)、设置(改)标签属性
				//一般在jquery中,属性既能set也能get
				
				//1.1 attr()常规标签属性操作方法
				//获取指定属性值,如果没有该属性返回undefined
				// var a = $("#p1").attr("color");
				
				//添加/更改属性值
				// $("#i1").attr("value","1");
				
				//获取标签对象的value属性值
				// console.info($("#i1").val());
				
				//1.2 prop()表单属性操作方法
				// var v = $("#i1").prop("value");
				// console.info(v);
				
				//表单元素属性赋值
				// $("#i1").prop("value","你好");
				
				//2 CSS样式属性修改
				//添加class属性值
				// $("#p1").addClass("p_class p_class2");//p.class = ?
				
				//删除class属性值
				// $("#p1").removeClass("p_class2");
				
				//获取(查)、设置(改)CSS
				// var b = $("div").css("border");
				
				//设置CSS样式
				// $("div").css("width","50%");
				
				//设置多个CSS属性值
				// $("div").css({
				// 	"width":"50%",
				// 	"height":"100px",
				// 	"background-color":"orange"
				// });
				
				//3 标签文本操作
				
				//查询标签本文内容
				// var tx = $("p").text();
				// console.info(tx);
				// var ht = $("p").html();
				// console.info(ht);
				
				//设置标签文本内容
				// var c = $("p").html();
				// $("p").html(c+"123");
				
				//4 获取、设置尺寸
				// $("div").height(10);
				$("div").width(600);
				
			}
			
		</script>
	</head>
	<body>
		<input type="text" id="i1" value=""/>
		<div style="border: 1px solid black;" >
			<p id="p1" align="left">hello<br>world</p>
		</div>
		<button onclick="test();">按钮</button>
		
	</body>
</html>

元素类型

  • 只有元素为jquery的对象时,attr()等函数才可以用。
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script type="text/jscript" src="js/jquery-1.9.1.min.js"></script>
		<script type="text/jscript">
			$(document).ready(function(){
				var c = $("#1");
				// jquery的对象
				console.info(c);
				var cc = $("body div");
				// 标签
				console.info(cc[1])
				// jquery的对象
				console.info(cc.eq(1))
				var ccc = document.getElementById("1")
				//标签
				console.info(ccc)
				
				$.each($("body div"), function(){
					//标签
					console.info(this);
				});
			})
		</script>
	</head>
	<body>
		<div id="fa1">
			<div id="1" class="kk"></div>
			<div id="2"></div>
			<div id='3'></div>
			<div id="4"></div>
		</div>
		<div id="fa2">
			
		</div>
	</body>
</html>

动画效果

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script type="text/jscript" src="js/jquery-1.9.1.min.js"></script>
		<script type="text/javascript">
			$(document).ready(function(){
				$("input[type=button]").click(function(){
					$('#content').animate(
						//效果
						{
							left: '300px',
							width: '500px',
							height: '500px'
						},
						//延时
						3000,
						//回调函数
						function(){
							location.reload()
						}
					);}
				);
			});
		</script>
	</head>
	<body>
		<!--
			1.显示与隐藏
			hide()、show()、toggle()
			可无参(瞬变)、可传入fast、slow、normal、具体毫秒数
			默认使用 上滑(消失)、下滑(出现)
		-->
		<input type="button" value="hide" onclick="$('#content').hide(1000);"/>
		<input type="button" value="show" onclick="$('#content').show('fast')"/>
		<input type="button" value="toggle" onclick="$('#content').toggle('normal')"/>
		
		<!--
			2.淡入与淡出
			fadeIn()、fadeOut()
			可无参(瞬变)、可传入fast、slow、normal、具体毫秒数
		-->
		<input type="button" value="fadeIn" onclick="$('#content').fadeIn('slow');"/>
		<input type="button" value="fadeOut" onclick="$('#content').fadeOut('fast');"/>
	   
	   <!--
			3.滑上(消失)与滑下(出现)
			slideUp()、slideDown()
			可无参(瞬变)、可传入fast、slow、normal、具体毫秒数
	   -->
		<input type="button" value="slideUp" onclick="$('#content').slideUp('fast');"/>
		<input type="button" value="slideDown" onclick="$('#content').slideDown('slow');"/>
	   <!--
			4.自定义动画
			animate()
			$(selector).animate({params},speed,callback);
			必需的 params 参数定义形成动画的 CSS 属性。
			可选的 speed 参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒。
			可选的 callback 参数是动画完成后所执行的函数名称。
	   -->
	   <input type="button" value="animate"/>
	   <!-- 比ready晚执行,会覆盖ready里的onclick -->
		<!-- <input type="button" value="animate" οnclick="$('#content').animate(
			{
				left: '300px',
				width: '500px',
				height: '500px'
			},
			3000,
			function(){
				alert('hello');
				location.reload()
			}
		);"/> -->
	   
	   <br>
	   <br>
		<div id="content" style="font-size: 50px; border: #00FFFF 10px solid; width: -webkit-fit-content;">
			hello啊
		</div>
	</body>
</html>

序列化

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script type="text/javascript" src="js/jquery-1.9.1.min.js"></script>
		<script>
			function testt(){
				//form表单序列化
				/*
					serialize()方法将表单元素按照 name:value属性值配对
					以"name=x&value=x"的字符串形式返回
				*/
			   console.info($("form").serialize());
			   /*
					serializeArray()方法返回一个标签对象(含属性name、value)的数组
			   */
			   console.info($("form").serializeArray());
			   //自定义输出
			   var objs = {}
			   $.each($("form").serializeArray(), function(i, tag){
				   //tag与this效果等同
				   console.info(i, tag, this)
					var key = this['name'];
					if(objs[key]){
						objs[key] += "、" + this['value'];
					}else{
						objs[key] = this['value'];
					}
			   });
			   console.info(objs)
			}
		</script>
	</head>
	<body>
		<!--
			form标签属性:
			action 指明form表单中内容要提交到的后台url地址
				[ip]:[port]/[server_name]/[function_name]
			method 指明http请求发送方式 get/post/put/delete
			enctype 指明发送前表单数据编码方式
				"application/x-www-form-urlencoded"
				发送前编码所有字符,空格转换为 “+” 号,特殊符号转化为ASCII hex值。
				"multipart/form-data"
				发送前不编码字符。表单中包含文件上传控件时,必须使用该参数。
				"text/plain"
				发送前编码,空格转换为 “+” 号,但特殊字符不编码。
		-->		
		<form action="127.0.0.1:8080/demo/get" method="get" enctype="application/x-www-form-urlencoded">
			<input type="text" name="userName" id="" value="" placeholder="account"/>
			<input type="password" name="userPwd" id="" value="" placeholder="password"/>
			<br>
			<input type="radio" name="sex" id="" value="1" /><input type="radio" name="sex" id="" value="0" /><br>
			<input type="checkbox" name="city" id="" value="1" />北京
			<input type="checkbox" name="city" id="" value="2" />上海
			<input type="checkbox" name="city" id="" value="3" />广州
			<br>
			<select name="eduLevel">
				<option value="1">专科</option>
				<option value="2">本科</option>
				<option value="3">研究生</option>
			</select>
			<br>
			<input type="button" name="btn" id="btn" value="output" onclick="testt()"/>
		</form>
	</body>
</html>

遍历筛选

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script type="text/jscript" src="js/jquery-1.9.1.min.js"></script>
		<style type="text/css">
			.fa{
				border: #000000 2px solid;
				width: 100px;
				height: 120px;
				margin: 10px;
			}
			div div{
				border: #7FFFD4 2px solid;
				width: 80px;
				height: 10px;
				margin: 10px;
			}
			
		</style>
		<script type="text/jscript">
			$(document).ready(function(){
				//遍历方法返回的都是jquery的对象
				
				//-----向上遍历 DOM 树-----
				/*
					parent()
					返回其父标签
				*/
				var ele = $("#1").parent()
				console.info(ele)
				/* 
					parents()
					返回其所有祖先标签
				*/
				var ele = $("#1").parents()
				console.info(ele)
				/* 
					parentsUntil()
					返回指定祖先标签与该标签之间的标签(不包括两端)
				*/
				var ele = $("#1").parentsUntil("html")
				console.info(ele)
				
				//-----向下遍历 DOM 树-----
				/*
					children()
					返回被选元素的所有直接子元素
				*/
				var ele = $("#fa2").children()
				console.info(ele)
				var ele = $("#fa2").children("*")
				console.info(ele)
				//可以使用可选参数来过滤对子元素的搜索
				var ele = $("#fa2").children("#3")
				console.info(ele)
				/* 
					find()
					返回所有后代元素,需要传入参数
				*/ 
				var ele = $("#fa2").find("*")
				console.info(ele)
				//过滤
				var ele = $("#fa2").find("#sun")
				console.info(ele)
				
				//-----同胞遍历-----
				/*
					siblings()
					返回被选元素的所有同胞元素
				*/
			   var ele = $("#fa2").siblings()
			   console.info(ele)
			   //可传入参数过滤
			   /*
					next()
					返回被选元素的下一个同胞元素
			   */
				var ele = $("#2").next()
				console.info(ele)
				/*
					nextAll()
					返回被选元素的所有跟随的同,,胞元素
				*/
				var ele = $("#2").nextAll()
				console.info(ele)
				/*
					nextUntil()
					返回介于两个给定参数之间的所有跟随的同胞元素
				*/
				var ele = $("#1").nextUntil("#4")
				console.info(ele)
				/*
					prev()
					prevAll()
					prevUntil()
					向前找,和next同理
				*/
			   
				//-----过滤-----
				/*
					first()
					取第一个元素
				*/
				var ele = $(".fa div").first()
				console.info(ele)
				/*
					last()
					取最后一个元素
				*/
				var ele = $(".fa div").last()
				console.info(ele)
				/*
					eq()
					按索引号取元素
				*/
				var ele = $(".fa div").eq(1)
				console.info(ele)
				/*
					filter()
					过滤,返回符合参数的
				*/
				var ele = $(".fa div").filter("#1 div")
				console.info(ele)
				/*
					not()
					过滤,返回不符合参数的
				*/
				var ele = $(".fa div").not("#1")
				console.info(ele)
				/*
					is()
					判断是否存在符合条件的,返回boolean
				*/
				var ele = $(".fa div").is("#1 div")
				console.info(ele)
				var ele = $(".fa div").is("#2 div")
				console.info(ele)
			})
			
		</script>
	</head>
	<body>
		<div class="fa" id="fa1"></div>
		<div class="fa" id="fa2">
			<div id="1">
				<div id="sun"></div>
			</div>
			<div id="2"></div>
			<div id='3'></div>
			<div id="4"></div>
		</div>
		<div class="fa" id="fa3"></div>
	</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值