jQuery-02(工具&CSS样式)

1.$是什么?


1.1 $(function(){});
如果使用上述语句报错了  $ is not deifned,就说明没有引入jQuery文件。

1.2 $是一个函数
参数传递不同,效果也不一样。

1.3 $(function(){}) 入口函数

1.4 $("") 选择器/创建一个标签

2.jQuery文件结构


其实时一个自执行函数
(function(){
    window.jQuery = window.$ = jQuery
}());


3.dom对象:原生态js选择器获取到的选择器
jQuery对象:利用jQuery选择器获取到的对象。

dom---->jQuery
var oDiv = document.getElementById('');
var $oDiv = $(oDiv)

jQuery--->1.dom  通过下标
var $div = $("#oDiv");
var div = $div[0];

<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<style>
		    .oBox{
				height: 100px;
				width: 100px;
				border: 1px solid pink;
			}
		</style>
		<script src="jquery-3.3.1.min.js"></script>
		<script type="text/javascript">
		  function getStyle(obj,name){
			  if(obj.currentStyle){//兼容IE
				  return obj.currentStyle[name];
			  }else{//非IE
				  return getComputedStyle(obj,false)[name];
			  }
		  }
		
		
		   //js中的dom对象与jQuery对象互换
		window.onload=function(){
			//原生态js 通过选择器获取元素
			var btn=document.querySelector('button');
			console.log(btn);
		    // console.log(getStyle(btn,'width'));
			//将原生态dom对象 转 jQuery对象 通过$()进行
			// console.log(btn.html());
			console.log($(btn).html());
			
			var $btn=$("button");
			console.log($btn);
			//将jQuery对象 转 js的dom对象
			//1.通过下标 jQuery得到的标签是一个数组
			console.log(getStyle($btn[0],'width'));
			//2.通过get方法
			console.log(getStyle($btn.get(0),'width'));
		};
		
		
		</script>
	</head>
	<body>
		<div class="oBox">123</div>
			<button>点击设置文本内容</button>
		
	</body>
</html>

4.工具方法

<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<!-- jQuery库 -->
		<script src="jquery-3.3.1.min.js"></script>
	</head>
	<body>
		<script type="text/javascript">
		    function getName(){
				
			} 
		
			// $工具方法的使用
			//1.$.each(); 遍历(与js中for循环一致)
			//作用:遍历对象 遍历数组 遍历对象数组
			//定义一个数组
			var a=["小米","小v","小风"];
			console.log(typeof(a));
			//index 下标
			//name 值
			$.each(a,function(index,name){
				// console.log(index,name);
				console.log(a[index]);
			});
			
            //对象中的属性定义 通过Map键值对形式定义
            var student={"name":"张无忌","sex":"男","age":18};
			console.log(typeof(student));
			//each 方法遍历对象
			//name 属性名称
			//value 属性值
			$.each(student,function(name,value){
				console.log(name,value);
			});
			
			//对象数组的定义
			var students=[
				{"name":"张无忌","sex":"男","age":18},
				{"name":"张三","sex":"男","age":22},
				{"name":"李四","sex":"男","age":28},
				{"name":"虎妞","sex":"女","age":18}
			];
			//遍历
			$.each(students,function(index,obj){
				console.log(index,obj);
				$.each(obj,function(name,value){
					console.log(name,value);
				});
			});
			
			//2.$.trim();
			//去除字符串两边的控股
			var str="   asfd  as";
			console.log(str.length);
			//jQuery
			console.log($.trim(str).length);
			//js
			console.log(str.trim().length);
			
			//3.$.type();
			//与js中的typeof一样 判断值类型
			console.log($.type(a));
			console.log($.type(student));
			console.log($.type(students));
			
			//4.$.isArray(); 判断是否是数组
			console.log($.isArray(student));
			console.log($.isArray(a));
			
			//5.$.isFunction();
			//判断是否是函数
			console.log($.isFunction(getName));
			
			//6.$.parseJSON();
			//将一个满足JSON格式(符合数组或者对象的定义)的字符串转换成一个对象或者一个数组
            var stu="{\"name\":\"虎妞\",\"sex\":\"女\",\"age\":18}";			
			console.log($.type(stu));
			
			var jsonStu = $.parseJSON(stu);
			console.log($.type(jsonStu));
			
			$.each(jsonStu,function(name,value){
				console.log(name,value);
			});
			
		</script>
	</body>
</html>

5.jQuery属性以及案例 

<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style>
		    .d{
				/* border: 10px solid lightcoral; */
                 background-color: #DDA0DD;				
			}
			.d1{
				background-color: cornflowerblue;
			}
			.dd{
			   width: 100px;
			   height: 100px;
			   background-color: plum;
		   }
		</style>
		<script src="jquery-3.3.1.min.js" type="text/javascript" charset="utf-8"></script>
	</head>
	<body>
		
		<h3>jQuery中的属性和样式设置和获取</h3>
		<!-- 注意事项:可以设置表单元素的属性,但不能获取 -->
		  <!-- 1.attr(); 设置或者获取非表单元素中的自带的属性 -->
		  <div id="oDiv" style="width: 100px;height: 100px;"></div>
		  
		  <input type="text" id="inputs" value=""/>
		  
		  <button id="oBtn1">点击获取</button>
		  <button id="oBtn2">点击设置</button>
		  <button id="oBtn3">点击设置input</button>
		  
		  <script>
		     $("#oBtn1").click(function(){
				 alert($("#oDiv").attr("id"));
			 });
			 
			 $("#oBtn2").click(function(){
			 	 alert($("#oDiv").attr("name","demo"));
			 });
			 $("#oBtn3").click(function(){
			     alert(("#inputs").attr("value"));
			 });
		  </script>
		
		   <!-- 2.removeAtter(); 移除属性-->
		   <hr />
           <div name="d" id="dd"></div>		   
		   <button id="oBtn4">移除name属性</button>
		   
		   <script type="text/javascript">
		   	  $("#oBtn4").click(function(){
				  $("#dd").removeAttr("name");
			  });
		   </script>
		   
		   <!-- 3.addClass(); 添加样式-->
		   <!-- 4.removeClass(); 移除样式-->
		   <!-- 如果标签上有class 继续使用addClass会叠加样式 -->
           <hr />
		   <div id="oDiv2" class="d oBox2"></div>
		   <button type="button" id="oBtn5">添加样式</button>
		   <button type="button" id="oBtn6">移除样式</button>
		   
		   <script>
		      $("#oBtn5").click(function(){
				  $("#oDiv2").addClass("oBox2");
			  });
			  
			  $("#oBtn6").click(function(){
			  	  $("#oDiv2").addClass("d");
			  });
		   </script>
		   
		   <!-- 5.prop(); 专门用来获取和设置表单元素-->
		   <input type="text" id="one" name="d"/>
		   <button type="button" class="myBtn">点击设置</button>
		   <script>
		       //获取name属性或者value属性
			   $(".myBtn").click(function(){
				   // alert($("#one".prop("name")));
				   $("#one").prop("name","小红");
				   $("#one").prop("value","小红");
			   }); 
		   </script>
		   
		   <!-- 6.html(); -->
		   <!-- 7.text(); -->
		   <!-- 8..val(); -->
		   <hr />
		   
		   <div id="demo1">
			   好好学习
			   <div>天天向上</div>
		   </div>
		   <input value="123" type="text" id="demo2"/>
		   <script>
		      console.log($("#demo1").html());
			  console.log($("#demo1").text());
			  //val获取非标单元素 结果为空
			  console.log($("#demo1").val());
			  
			  //表单元素
			  console.log($("#demo2").val());
			  //表单元素通过html() 为空
			  console.log($("#demo2").html());
			  //表单元素通过text() 为空
			  console.log($("#demo2").text());
		   </script>
		   
		   <hr />
		   	<h2>案例:表格隔行换颜色</h2>	
		    <table border="1" width="100%">
		    	<tr>
		    		<td>item1</td>
		    		<td>item2</td>
		    		<td>item3</td>
		    		<td>item4</td>
		    		<td>item5</td>
		    	</tr>
		    	<tr>
		    		<td>item1</td>
		    		<td>item2</td>
		    		<td>item3</td>
		    		<td>item4</td>
		    		<td>item5</td>
		    	</tr>
		    	<tr>
		    		<td>item1</td>
		    		<td>item2</td>
		    		<td>item3</td>
		    		<td>item4</td>
		    		<td>item5</td>
		    	</tr>
		    	<tr>
		    		<td>item1</td>
		    		<td>item2</td>
		    		<td>item3</td>
		    		<td>item4</td>
		    		<td>item5</td>
		    	</tr>
		    	<tr>
		    		<td>item1</td>
		    		<td>item2</td>
		    		<td>item3</td>
		    		<td>item4</td>
		    		<td>item5</td>
		    	</tr>
		    	<tr>
		    		<td>item1</td>
		    		<td>item2</td>
		    		<td>item3</td>
		    		<td>item4</td>
		    		<td>item5</td>
		    	</tr>
		    	<tr>
		    		<td>item1</td>
		    		<td>item2</td>
		    		<td>item3</td>
		    		<td>item4</td>
		    		<td>item5</td>
		    	</tr>
		    	<tr>
		    		<td>item1</td>
		    		<td>item2</td>
		    		<td>item3</td>
		    		<td>item4</td>
		    		<td>item5</td>
		    	</tr>
		    	<tr>
		    		<td>item1</td>
		    		<td>item2</td>
		    		<td>item3</td>
		    		<td>item4</td>
		    		<td>item5</td>
		    	</tr>
		    	<tr>
		    		<td>item1</td>
		    		<td>item2</td>
		    		<td>item3</td>
		    		<td>item4</td>
		    		<td>item5</td>
		    	</tr>
		    </table>
		    
			<script type="text/javascript">
				$("table tr:even").addClass("d");
				$("table tr:odd").addClass("d1");
			</script>
		
		<hr />
		<h2>案例 全选(选中|取消)</h2>
		 <input type="checkbox" id="all"/>全选
		 <input type="checkbox" id="qx"/>取消全选
		 <input type="checkbox" name="" id="" value="1" />1
		 <input type="checkbox" name="" id="" value="2" />2
		 <input type="checkbox" name="" id="" value="3" />3
		 <input type="checkbox" name="" id="" value="4" />4
		 <script>
		    $("#all").click(function(){
				//获取所有的复选框
				$("input:checkbox").each(function(){
					$(this).prop("checked",true);
				});
			});
			$("#qx").click(function(){
				//获取所有的复选框
				$("input:checkbox").each(function(){
					$(this).prop("checked",false);
				});
			});
		 </script>
		
		
	</body>
</html>

6.css以及案例 

<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style>
		   #oDiv{
			   width: 100px;
			   height: 100px;
			   background-color: #6495ED;
			   position: absolute;
               left: 200px;
			   top: 100px;
			   border: 10px solid #FFC0CB;
			   padding: 100px;
		   }
		   .oBox{
			   /* 相对定位 */
			   position: relative;
		       width: 50px;
			   height: 50px;
			   background-color: lightcoral;
               left: 20px;
			   top: 20px;
		   }
		</style>
		<script src="jquery-3.3.1.js"></script>
	</head>
	<body>
		<script>
		   for(var i=1;i<=2000;i++){
			   document.write("<br />");
		   }
		</script>
		<div id="oDiv">
			<div class="oBox"></div>
		</div>
		<script>
		
		   var $oDiv=$("#oDiv");
		   var $oBox=$(".oBox");
		   console.log($oDiv.offset().left);
		   console.log($oDiv.offset().top);
		   
		   console.log($oBx.position().left);
		   console.log($oBx.position().top);
		   
		   $(window).scroll(function(){
			   console.log($(this).scrollTop());
		   });
		   
		   
		   //容器宽
		   console.log($oDiv.width());
		   //width+padding
		   console.log($oDiv.innerWidth());
		   //width+padding+border
		   console.log($oDiv.outerWidth());
		</script>
		
	</body>
</html>


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值