jQuery02($工具&属性&css)

目录

 jquery工具方法

 jquery属性

 jquery中的CSS


正文内容

jquery工具方法

jquery就是升级+简化的js

例如:jquery中的遍历数组比使用for循环和foreach更简洁方便

$each():遍历数组,对象,对象数组中的数据

<!DOCTYPE html>
<html>
	<head></head>
	<body>
		 <script src="./js/jquery-3.5.1.js"></script>
		 <script type="text/javascript">
			//定义数组
		 	var arr=[1,2,3,4]
			// $.each相当于foreach,jquery中方法都省去前面的关键字
			$.each(arr,(a/*下标*/,b/*元素*/)=>{
				console.log('下标'+a,'元素'+b)
			})
		    //定义对象
			var person={
				name:'张三',
				sex:'男',
				age:21
			}
			// 使用$遍历对象数据
			$.each(person,(a/*属性名*/,b/*属性值*/)=>{
				console.log(a,b)
			})
		 </script>
	</body>
</html>

运行如下:

$trim():去除字符串两边的空格

        // 去掉一个空格(从第一个空格开始数)
			console.log(' a b c '.replace(' ','').length)//6
		// 去所有空格
			console.log(' a b c '.replaceAll(' ','').length)//3

$type(obj):得到数据的类型

           // $.type相当于typeof
		    console.log(typeof arr)//arr是数组array(也是object)
			console.log(typeof person)//person是对象object
			console.log($.type(arr))//array
			console.log($.type(person))//object

$isArray(obj):判断是否是数组

$isArray(arr)

$isFunction(obj): 判断是否是函数

$isFunction(fn1)

补充:

// 函数一定有返回值,未写返回值就是undefined
		function f1(){}
		var f2=f1()//undefined,加上()就是得到函数运行后的返回值
		var f3=f1//是函数
		console.log($.isFunction(f2))
		console.log($.isFunction(f3))

Java: 

   序列化:对象-->文件
   反序列化:对象<--文件

jquery:

json是一段字符串,就是string,如:{'对象'}

$parseJOSON(obj):将json字符串转换为js对象/数组(反序列化)

        // 外'内""'
		var str='{"name":"李四","sex":"女"}'//用途:将对象变成字符串发送出去
		// 拿到发送过来的对象的属性值
		console.log(str)//string类型:黑色
		// $.parseJSON(字符串):将字符串变成js中的对象(反序列化)
		console.log($.parseJSON(str))//对象object
		var stu=$.parseJSON(str)
		// 拿到对象中的属性值
		console.log(stu.name,stu.sex)

运行如下:

JOSON.stringify(obj): 将对象转成字符串(序列化)

console.log(JSON.stringify(person))

jquery属性

 attr('标签中的属性','修改后的值'):获取某个标签的属性、设置某个标签属性的值

removeAttr('要删除的属性'):删除某个标签属性

addClass:给某个标签添加class属性值

removeClass:删除某个标签class属性值

prop()attr()类似,但是prop用于值为Boolean类型时,比如多选框的状态

prop()控制js中的属性,attr是标签属性,标签上的属性可以使用attr但是js中的属性不可以使用attr

html():获取某一个标签内容,该标签中可以包含子标签

text():获取某一个标签内容,该标签中不可以包含子标签

val():主要用于获取/设置输入框的值

 一起调用一下叭:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			.aa{
				color: red;
				background-color: blue;
			}
			#d3{
				width: 200px;
				height: 200px;
				background-color: #0000FF;
			}
		</style>
	</head>
	<body>
		<a href="https://www.baidu.com/">跳转网页</a>
		<button type="button" onclick="f1()">点我更改网址</button>
		<button type="button" onclick="f2()">点我删除网址</button>
		<button type="button" onclick="f3()">点我添加class属性</button>
		<button type="button" onclick="f4()">点我移除class属性</button>
		<div>
        <!--多选功能-->
		<!-- $(':checkbox'拿到页面所有多选框 prop()控制js中的属性,用于值为Boolean类型时-->
			<!-- checked属性不是标签中的 this.checked自己的状态:true/false-->
			<!-- js($)和jquery(this)对象不可互换,方法不互通,但是可以结合在一起使用 -->
			<!-- 也可以调用函数不过要拿到的是多选框类型的输入框:$(':checkbox') -->
		<input onclick="$(':checkbox').prop('checked',this.checked)" type="checkbox"/>
			<input type="checkbox"/>
			<input type="checkbox"/>
			<input type="checkbox"/>
		</div>
		<b id='d1'>哈哈</b>
		<input value="嘿嘿?" id="d2"/>
		<div id="d3"></div>
		<script src="./js/jquery-3.5.1.js"></script>
		<script type="text/javascript">
		// attr('标签中的属性','修改后的值'):获取某个标签的属性、设置某个标签属性的值
		function f1(){
			// 使用jquery修改标签属性的值
$('a').attr('href','https://blog.csdn.net/yifei_345678?spm=1019.2139.3001.5343')
		}
		// removeAttr('要删除的属性'):删除某个标签属性
		function f2(){
			$('a').removeAttr('href')
		}
		// addClass:给某个标签添加class属性值
		function f3(){
			$('a').addClass('aa')
		}
		// removeClass:删除某个标签class属性值
		function f4(){
			$('a').removeClass('aa')
		}	
		$("#d1").html()//当不填就是读取
		$("#d1").html('<i>你好</i>')//填了值就是修改
		$("#d1").text('<i>你好</i>')//不识别标签
		// val():主要用于获取/设置输入框的值
		$("#d2").val()//当不填就是读取
		$("#d2").val('abc')//填了值就是修改
		</script>		
	</body>
</html>

部分运行结果如下:

 点击第三个按钮:

  

 点击第0个多选框后:

但是这样写的多选框功能还不是很完善

要想实现真正意义上的多选框,可以这样写:

// 多选框功能:
		// 1,取消多选
		// 拿到>0的所有多选框(.click $中点出的方法都去掉前面的关键字)
		// 给>0的所有多选框设置函数
		$(':checkbox:gt(0)').click(function (){
			// this就是>0的所有多选框,直接使用它自带的属性
			var status=this.checked;
			if(!status){//为false
				// $(':checkbox').eq[0]:选中第0个多选框
				// $是jquery,且值为Boolean类型,可以使用prop
				// return中断代码
				// 1,>0的所有多选框有取消全选时,给第0个多选框设置未选中状态
				return $(':checkbox').eq(0).prop('checked',status)
			}
			// 2,>0的所有多选框全选中时,给第0个多选框设置选中状态
			// $(":checkbox:gt(0)")拿到>0的所有多选框,使用$.each(要遍历的,(a,b)=>{操作})遍历这些多选框
			var f=true
			$.each($(":checkbox:gt(0)"),(a,b/*元素*/)=>{
				// console.log(b)$.each()可以拿到所遍历的元素
				f=f&&b.checked//有一个为假就返回false
			})
			// 给第0个多选框设置选中状态
			$(':checkbox').eq(0).prop('checked',f)
		})

 jquery中的CSS

上面的方法都可以通过查阅jQuery官方API文档来查询,学习,这里就不过多展示了


感 谢 阅 读 ^_^


版权声明:本文为yifei_345678原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。