09 JQuery

JQuery

一.引言

1.JQuery是一个基于javascript语言的框架 --- 是对js代码的合理封装

2.js的缺点,jquery优点
    1)js代码比较复杂  var tag = document.getElementById("idvalue");
	   jquery代码简单  var tag = $("#idvalue");
	2)js存在着浏览器差异,jquery可以屏蔽浏览器差异
	3)提供了强大的界面支持
	4)简化Ajax的代码开发

二.第一个Jquery程序

1.搭建环境 -- 引入相关资源文件(以.js文件形式存在)
     <script type="text/javascript" src="js资源文件路径"></script>
	 
2.知识点
    1)$("#id")  --- 根据标签的id属性值获取标签对应的jquery对象
	2html()  --- 获取标签体里的内容
	3css("css属性","css属性值") --- 设置标签的css样式

三.Jquery对象与Dom对象的区别

1. 通过document.getElementById(..)获取的是dom对象,不能使用jquery定义的函数
2. 通过jquery方式获取的对象为jquery对象($("#id")),可以调用jquery定义的函数

四.如何获取jquery对象

1.通过dom对象获取jquery对象 
        var jqueryObject = $(dom对象)    
  
2.通过html标签获取jquery对象 -- 用在向网页里添加新标签的功能,创建新标签上。
       var h1 = $("<h1>hehe</h1>");
	   var tag2 = $("<div>luxw</div>");
	   
3.通过jquery选择器获取jquery对象 【重点】
     
	1)基本选择器
	   $("#id") --- id选择器,根据标签的id属性值,得到标签所有对应的jquery对象   【重点】
	   $(".class") -- 类选择器,根据标签的class属性值获得相应的jquery对象
	   $("标签名") -- 标签选择器,根据标签名获取jquery对象                        【重点】
	   $("标签名,标签名") -- 组合选择器
	   $("*") --- 全选择器
	
	2)层次选择器
	   $("选择符1 选择符2") -- 后代选择器,获取所有出现在选择器1里的选择符2(包括孩子和孙子......)  【重点】
	   $("选择符1>选择符2") -- 孩子选择器,获取选择符1里的选择符2标签(只包括孩子)
	   $("选择符1~选择符2") -- 选择符1的后续所有兄弟选择器
	   $("选择符1+选择符2") -- 选择符1后的第一个兄弟标签
	
	3)过滤选择器
	    概念:从一组jquery对象中,筛选出有用的jquery对象
	   
	    基本过滤选择器
		:first      --- 获取一组jquery对象中的第一个jquery对象     【重点】
		:last
		:not(selector) --- 从一组jquery对象中,排除给定的选择器
		:even  --- 获取一组jquery对象中下标为偶数的jquery对象 , 下标从0开始
		:odd   --- 获取一组jquery对象中下标为奇数的jquery对象
		:eq(index) -- 获取下标为index的jquery对象
		:gt(index) -- 大于给定下标的jquery对象                      【重点】
		:lt(index)

		内容过滤选择器
		:contains(text) --- 在一组jquery对象中,获取 文本内容是text的 标签对象
		:empty  --- 获取空标签对象                                                【重点】
		:has(selector) --- 获取含有指定选择器的jquery对象
		:parent   --- 获取有孩子节点的jquery对象

		可见性过滤选择器
		:hidden    ---- 获取一组jquery对象中被隐藏的标签
		:visible   ---- 获取可见的jquery对象
			
		属性过滤选择器
		[attribute]   ----- 获取一组jquery对象中含有指定属性的标签   $("select option[value]")
		[attribute=value] --- 获取一组jquery对象中的属性为value的标签对象                    【重点】
		             $("input[type=checkbox]")   ,  $("input[type=checkbox]:gt(0)")
		[attribute!=value]
		
		表单对象属性过滤选择器
		:enabled
		:disabled   --- 获取一组jquery标签对象中的处于失效状态的标签
		:checked     ---- 获取一组jquery对象中的被选中的标签对象 checked=true的      【重点】
		          $("input[type=checkbox]:checked")
		:selected    --- 获取一组option标签对象中的被选中的option                     【重点】
		          获得被选中的省名称
				    js --》 var tag =  document.getElementById("pro");
					        var value = tag.options[tag.selectedIndex].value;
				    jquery --> var value = $("#pro option:selected").val() 
	
	4)表单选择器
	    :input                 $(":input") -- 获取网页里的所有的input标签
		:text
		:pasword
		:radio
		:checkbox       $(":checkbox") <---> $("input[type=checkbox]")
		                $(":checkbox:checked") <---> $("input[type=checkbox]:checked")
		:submit
		:image
		:reset

五.jquery对象的常见功能

 jquery对象支持链式调用,可以将所有功能通过.的方式全部缀在对象之后   obj.XX().XX().xx()
   
   1.length 或者 size() -- 获取一组jquery对象的个数
   
   2.遍历一组jquery对象 -- each()
       语法: $("li").each( function(idx){
	               this -- 代表当前正在被遍历的对象,是一个dom对象
	          } );
	   此处idx表示正在被遍历的对象的下标
   
   3.获取或者设置jquery对象的属性 -- prop()   attr()
      获取属性 -- jquery对象.prop(属性名)
	  设置属性 -- jquery对象.prop(属性名,属性值)
	              如果属性不存在,函数会自动为对象添加属性
	  删除属性 -- jquery对象.removeAttr(属性名)
	
	  如果需要设置多个属性  $("#input").prop("type","text").prop("name","btn");
	                        $("#input").prop( {type:"text",name:"btn"} );
   
   4.获取或者设置css样式
   
     1css() -- 单个设置css样式
	     获取 -- jquery对象.css("css属性名");
		 设置or修改 -- jquery对象.css("属性名","属性值");
		 
	 2)关于隐藏和显示标签
	     hide(time) -- 在time毫秒内隐藏jquery对象(有动画效果)
		 show(time) -- 以动画效果,在time毫秒内显示一个jquery对象
   
     3)关于添加一类css样式
	     jquery对象.addClass("css里的一类样式的class名")  --- 等价于 jquery对象.prop("class","value");
         jquery对象.removeClass()
		 
	 4)三个关于内容处理
	 
	    html() -- 设置或者获取标签体里的内容(包括子标签和文本内容),等价于js里的innerHTML
		    获取 -- jquery对象.html()
			设置 -- jquery对象.html(内容);
	
	    text() -- 设置或者获取标签体里的文本内容
		
		val() -- 设置或者获取表单元素的value属性值
		   获取 -- jquery对象.val()
		   设置 -- jquery对象.val();

六.为jquery对象添加事件

1.js里的事件处理
      标签式事件处理 --- <标签名 onclick="fun()">
	  编程式事件处理 
	     <script type="text/javascript">  
		      window.onload=function(){
			      var tag = document.getElementById("btn");
				  tag.onclick=function(){};
			  }
		 </script>
		 
	 jquery里的编程式事件处理
       第一种:  <script type="text/javascript">  
		             $(document).ready( function(){     ====》 window.onload=function{
			              jquery代码
			         });
			     </script>
	   第二种: <script type="text/javascript">  
	               $( function(){ 
				        $("#btn").click( function(){});
				   });
				</script>
				
  2.复合事件处理
  
    1) jquery对象.toggle(fun1,fun2,.....) -- 循环单击事件,单击第一次执行fun1,第二次执行fun2,第三次执行fun1

    2) jquery对象.hover( fun1,fun2 ) -- 第一个函数表示鼠标移入是的动作,第二个函数表示鼠标移出时的动作

  3.添加标签
    1)新建标签
	    var tag = $("<div>luxw</div>");
	
	2)将tag放入网页中
	    parentTag.append( newTag );  --> 将新标签添加到现有父标签的最后一个孩子节点
		parentTag.prepend( newTag);  --> 将新标签添加到父标签现有孩子节点的第一个
		siblingTag.after( newTag );  --> 添加到当前标签的下一个位置,称为"弟弟"标签
		siblingTag.before(newTag);
		
	3)click(),hover(),mouseover().....只适用于网页里现有的标签对象,不适用于新添加的标签对象
	  解决:添加事件时,通过live("事件类型click,mouseover...",fun)解决。
	  
  4.删除标签
    1)删除函数
	    thisTag.remove() --> 删除当前标签对象
		thisTag.empty() ---> 清空当前标签对象的标签体

    2)关系函数
	    jquery对象.parent()
		jquery对象.children()  --> 所有孩子
		jquery对象.prev() 
		jquery对象.next()
		jquery数组.first()
		jquery对象.last()
		

补充:
动画:
  fadeIn(); 淡入
  fadeOut(); 淡出
  slideUp();  隐藏
  slideDown();  显示
  show()
  hide();
  animate({})  $("#img").animate({"height":"100px","width":"100px"},2000);
  
  
  
  复习:
   1.JQuery是一个基于javascript的框架
   2.搭建环境 -- 导入js文件  
      <script type="text/javascript" src="jquery1.8.3.js"></script>
   3.获取需要操作的标签对应的jquery对象
     1)jquery对象和dom对象
	 2)$( dom对象 )
	 3)$("<div>aaaa</div>")  --- 生成新标签
	 4)通过选择器获取jquery对象
	    $("#id")   $("标签名")   $("选择器1 选择器2")   
		:first   :gt(index)    :empty    [attribute=value]    :checked    :selected
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值