zoukankan      html  css  js  c++  java
  • jQuery

    1. 什么是jQuery
    它是一个轻量级的javascript类库

    注1:就一个类“jQuery”,简写“$”

    2. jQuery优点
    2.1 总是面向集合
    2.2 多行操作集于一行

    3.如何使用jQuery(hello jQuery)
    3.1 导入js库
    <script type="text/javascript" src="js库路径"></script>

    <script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery-3.3.1.js"></script>
    

      

    $(fn)、$(document).ready(fn)与window.onload的区别

         window.onload=function(){
    	     alert("3")
         }
         $(document).ready(function(){
        	 alert("2")
         })
         $(function(){
        	 alert("1");
         })
     /*
      *结论:$(fn)、$(document).ready(fn)是等价的。那个代码在前面哪个先执行。
      *jsp的dom树结构加载完毕即刻调用方法
      *window.onload最后执行
      *jsp的dom树加载完,css,js等静态资源加载完毕执行
      */
         
    

      

    4.jQuery三种工厂方法
    4.1 jQuery(exp[,context])
    exp:选择器

    context:上下文 容器/环境 默认:document

    /* 4.jQuery三种工厂方法
    	   4.1 jQuery(exp[,context])
    		exp:选择器
    		c */ontext:上下文	容器/环境  默认:document
    	//利用a标签获取jquery实例
    	//元素选择器
    	/* $("a").click(function(){
    		alert("被翻牌子了");
    	}); */
    	//利用ID=a3标签获取jquery实例
    		//ID选择器
    	/* $("#a3").click(function(){
    		alert("被翻牌子了");
    	}); */
    	//类选择器
    	/* $(".c1").click(function(){
    		alert("被翻牌子了");
    	}); */
    	//包含选择器(E1 E2)
    	/* $("p a").click(function(){
    		alert("被翻牌子了");
    	}); */
    	//组合选择器(E1,E2)
    	/* $("a,span").click(function(){
    		alert("被翻牌子了");
    	}); */
    	//讲解第二个参数的作用(在DIV标签内部寻找到a标签,然后给找到的标签添加事件)
    	//如果第二个参数没有填写,那么默认是document
    	//属性选择器
    	$("a","div").click(function(){
    		alert("被翻牌子了");
    	});
    })
    </script>
    </head>
    <body>
    	<p>
    		<a id="a1" class="c1" href="#">点我1</a>
    	</p>
    	<p>
    		<a id="a2" class="c2" href="#">点我2</a>
    	</p>
    	<p>
    		<a id="a3" class="c3" href="#">点我3</a>
    	</p>
    	<div>
    		<a id="a4" class="c1" href="#">点我4</a>
    	</div>
    	<div>
    		<p>
    			<a id="a5" class="c1" href="#">点我5</a>
    		</p>
    	</div>
        <span>点我</span>
        
    </body>
    

      

    jQuery.fn.extend()就是扩展jQuery本身的实例方法 “对象名.方法名”
    jQuery.extend()就是扩展jQuery本身的类方法。静态方法 “类名.静态方法名”

    2.JSON的三种方式

    2.1 对象
    {sid:'p001',sname:'zhangsan'}

    2.2 列表/数组
    [1,3,4,5]
    [{},{},{}]
    $.each(数组,function(idx,elem){

    });

    2.3 混合模式
    {id:3,num:[1,3,4,5]}
    {total:81,page:1,list:[{对象},{对象},{对象}]}

    2.4 JSON转换
    将字符串转成json对象: JSON.parse()
    将对象、数组转换成字符串:JSON.stringify()
    var obj={id:’001’:name:’zhangsan’

    $(function() {
    
    		var obj={sid:'001',snaem:'zs'};
    		console.log(obj);
    		//1.将对象.数组转化成字符串JSON.stringify();
    		var tostr=JSON.stringify(obj);
    		console.log(tostr);
    		
    		//2将字符串转化成JSON对象
    		var toobj=JSON.parse(tostr);
    		console.log(toobj); 
    
    		//.$.extend和$.fn.extend
    		//1.1$.extend(obj1,obj2,obj3[,...])
    		//将所有参数合并到obj1,并返回obj1;
    		var obj1={'pid':'001','pname':'李四'};
    		var obj2={'pid':'007'};
    		var obj3={'card':'43101010001'};
    		console.log(obj1.pid+','+obj1.pname+','+obj1.card);
    		$.extend(obj1,obj2);
    		console.log(obj1.pid+','+obj1.pname+','+obj1.card);
    		$.extend(obj1,obj2,obj3);
    		console.log(obj1.pid+','+obj1.pname+','+obj1.card);
    		
    		console.log("obj2:"+JSON.stringify(obj2)); 
    		
    		 //以obj参数扩展Jquery类方法和类属性(静态方法和静态属性)
    		//$.extend(obj):一次能扩展多个类方法
    		//$.method=function(option){};一次只能扩展一个类方法
    		  var obj = {
    			add : function(a, b) {
    				return a + b;
    			},
    			minus : function(a, b) {
    				return a - b;
    			}
    
    		}
    		 
    		 
    		 $.extend(obj); 
    		
    		var res=$.add(4,6);
    		console.log(res);
    		
    		var ues=$.minus(8,4);
    		console.log(ues);
    
    		//$.method=function(option){};一次只能扩展一个类方法
    		$.div=function(a,b){
    			return a*b;
    		};
    		
    		var res=$.div(2,2);
    		console.log(res); 
    		
    		//$.fn.extend:扩展jquery对象的实例方法
    		//实例化对象名.方法名
    		
    		 $.fn.extend({
    			color:function(){
    				return $(this).css({'background':'red'});
    			}
    		});
    		
    		$('div').color();
    		
    		$('table').bgcolor();
    		
    		
    	}); 
    

      

      

    1.1 什么是Jackson
    Jackson是一个简单基于Java应用库,Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象。

    1.2 核心代码
    //JSON操作的核心,Jackson的所有JSON操作都是在ObjectMapper中实现

    对象User

    package com.demo;
    
    public class User {
    private int age;
    private String name;
    private int id;
    public int getAge() {
    	return age;
    }
    public void setAge(int age) {
    	this.age = age;
    }
    public String getName() {
    	return name;
    }
    public void setName(String name) {
    	this.name = name;
    }
    public int getId() {
    	return id;
    }
    public void setId(int id) {
    	this.id = id;
    }
    public User(int age, String name, int id) {
    	super();
    	this.age = age;
    	this.name = name;
    	this.id = id;
    }
    
    
    }
    

      

    //JSON操作的核心,Jackson的所有JSON操作都是在
       ObjectMapper mapper=new ObjectMapper();
      // 1.3.1 JavaBean、Map集合与JSON互转
      //	1)JavaBean/Map转JSONs
       //  2)JavaBean转json对象
          User user=new User(1, "lisji", 4);
          String objtojson=mapper.writeValueAsString(user);
          System.out.println(objtojson);
          
         //1.2map集合转化成json对象
         Map<String, Object> map=new HashMap<String, Object>();
         map.put("pid", "p001");
         map.put("pname", "zhangs");
         map.put("page", "18");
         String maptojson=mapper.writeValueAsString(map);
         System.out.println(maptojson);
         
         //1.3json对象转化成javabean对象
         String jsonStr="{"pname":"zhangs","pid":"p001","page":"18"}";
         User  us=mapper.readValue(jsonStr, User.class);
        // System.out.println(us);
       
         //1.4JSON对象转化成map集合
         //TypeReference(json对象序列化与反序列化)
         Map<String, Object> jsonTMap= mapper.readValue(jsonStr, new TypeReference<Map<String, Object>>() {
         });
       //System.out.println(jsonTMap);
       
    

      

    4.插件:表格行颜色切换效果

    新建bgcolor.css文件

    .head{
    	background: #ccc;
    }
    .over{
    	background: red;
    }
    .out{
    	background: #fff;
    }
    

     创建js文件jquery.bgcolor.js

    $.fn.extend({
    	bgcolor:function(options){
    		//判空处理
    		options=options||{};
    		var defaults={
    				headClass:'head',
    				overClass:'over',
    				outClass:'out'
    		};
    		//扩展jquery本身的类方法,命名参数写发
    		$.extend(defaults,options);
    		
    		return $(this).each(function(){
    			//修改表头的颜色
    			$("tr:eq(0)",this).addClass(defaults.headClass);
    			//添加行的悬停效果
    			$("tr:gt(0)",this).addClass(defaults.outClass).hover(function(){
    				$(this).removeClass(defaults.outClass).addClass(defaults.overClass);
    			},function(){
    				$(this).removeClass(defaults.overClass).addClass(defaults.outClass);
    			});
    		});
    			
    	}
    	
    })
    

      引入插件

    <script type="text/javascript" src="js/plugins/bgcolor/jquery.bgcolor.js"></script>
    <link rel="stylesheet" type="text/css" href="js/plugins/bgcolor/bgcolor.css">

      效果


    2.2 jQuery之Ajax实现省市县级联动(数据库版)

    $(function(){
    	query($("#prov"),7459)
    	$("#prov").change(function(){
    		query($("#city"),$(this).val())
    	});
    	$("#city").change(function(){
    		query($("#town"),$(this).val())
    	})
    	$("#prov").change(function(){
    		query($("#town"),$(this).val())
    	})
    	
    });
    function query(obj,pid){
    	$.ajax({
    		url:'RegionAction',
    	   data:{"parent_id":pid},
    	   dataType:'json',
    	   type:'post',
    	   success:function(data){
    		  obj.find("option:not(:first)").remove();
    		   $.each(data,function(idx,elem){
    			  obj.append("<option value='"+elem.id+"'>"+elem.region_name+"</option>")
    		   });
    	   }
    	   
    	});
    }
    
    </script>
    </head>
    <body>
    <select id="prov">
    <option value="">请选择</option>
    </select>
    <select id="city">
    <option value="">请选择</option>
    </select>
    <select id="town">
    <option value="">请选择</option>
    </select>
    

      效果

  • 相关阅读:
    1st_pandas
    8thNumpy a.copy()
    7thNumpy array合并
    6th_numpy array的合并 np.vstack np.concatenate np.newaxis
    numpy_5th array索引
    numpy_4th np.transpose(a); a.T ; a.clip(min,max) ; np.sort(a) ; np.diff() ; np.cumsum(a)
    numpy_3rd 布尔运算/乘积点积
    POJ 3270
    POJ 1721
    POJ 3128
  • 原文地址:https://www.cnblogs.com/xmf3628/p/11094151.html
Copyright © 2011-2022 走看看