Jquery的基本入门

#Jquery

jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。

##Jquery使用方式

  • 导入jquery的js文件

      jquery-1.11.0.min.js
    
  • 在html或者jsp进行关联

      <script src="../js/jquery-1.11.0.min.js"></script>
    

Jquery使用

###jquery基本操作

  • 获取jquery中dom对象

    //获取dom对象
    var $username = $("#username");
    //弹出dom对象中的value
    alert($username.val())
    
  • 事件派发

      $(function() {
      		$("#mbt").click(function() {
      			alert("哈哈哈,被点击了")
      		});
      });
    
  • 各种事件

    • 页面加载事件

        onload = function() {
        		alert(12);
        }
        
        $(function() {
        		alert ("hahaha");
        })
      
    • 获取焦点 失去焦点

        $(function() {
        		$("#username").blur(function() {
        			alert("失去焦点");
        		}).focus(function() {
        			alert("获取到焦点");
        		});
        	});
      
        $(function() {
        	$("#e01").mouseover(function() {
      
        		alert("鼠标移上");
      
        	}).mouseout(function() {
        		alert("鼠标移出")
        	});
        });
      

##JQuery选择器

  • 选择器效果

  • 基本选择器

    • 标签选择器

        $("div")
      
    • id选择器

        $("#div1")
      
    • 类选择器

        $(".div1")
      
    • 所有元素的选择器

        $("*")
      
    • 组合选择器

        $("div,#div1")
      
  • 层级选择器

      	$("div p")
      	$("div .mini")
    
    • 选择自己

        $(this)
      
    • 属性选择器

        $("[href]");
      
    • 奇数偶数选择器

        $("tr:even");
        $("tr:odd");
      
    • 类型选择器

        $(":button")
      
    • 属性选择器

        $([name='username'])
      

###jquery基本效果

  • 显示隐藏

      hide()
    
      show()
    
      toggle()	
    
  • 淡入淡出

      fadeIn()
      fadeOut()
      fadeToggle()
    
  • 滑动

      slideDown()
      slideUp()
      slideToggle()
    

##Jquery工具

###jQuery HTML

  • jQuery 捕获 和设置

     text() - 设置或返回所选元素的文本内容
     html() - 设置或返回所选元素的内容(包括 HTML 标记)
     val() - 设置或返回表单字段的值
     获取属性 -
      attr() alert($("#w3s").attr("href"));
     设置属性
     $("#a").attr("href", "http://www.baidu.com");
    
  • JQuery 添加元素

      append() - 在被选元素内部的结尾插入指定内容
      prepend() - 在被选元素内部的开头插入指定内容
      after() - 在被选元素之后插入内容
      before() - 在被选元素之前插入内容 
    
  • JQuery 删除元素

      remove() - 删除被选元素(及其子元素)
      empty() - 从被选元素中删除子元素
      $("p").remove(".italic");
    
  • 案例演示

    • 全选全不选
      prop() 方法

        prop() 方法设置或返回被选元素的属性和值。
      
        
        <table id="tab1" border="1" width="800" align="center">
        <tr>
        	<td colspan="5"><input type="button" value="添加" /> <input type="button" value="删除"></td>
        </tr>
        <tr>
        	<th><input type="checkbox" id="selectAll"></th>
        	<th>分类ID</th>
        	<th>分类名称</th>
        	<th>分类描述</th>
        	<th>操作</th>
        </tr>
        <tr>
        	<td><input type="checkbox" class="itemSelect"></td>
        	<td>1</td>
        	<td>手机数码</td>
        	<td>手机数码类商品</td>
        	<td>
        		<a href="">修改</a>|
        		<a href="">删除</a>
        	</td>
        </tr>
        <tr>
        	<td><input type="checkbox" class="itemSelect"></td>
        	<td>2</td>
        	<td>电脑办公</td>
        	<td>电脑办公类商品</td>
        	<td>
        		<a href="">修改</a>|
        		<a href="">删除</a>
        	</td>
        </tr>
        <tr>
        	<td><input type="checkbox" class="itemSelect"></td>
        	<td>3</td>
        	<td>鞋靴箱包</td>
        	<td>鞋靴箱包类商品</td>
        	<td>
        		<a href="">修改</a>|
        		<a href="">删除</a>
        	</td>
        </tr>
        <tr>
        	<td><input type="checkbox" class="itemSelect"></td>
        	<td>4</td>
        	<td>家居饰品</td>
        	<td>家居饰品类商品</td>
        	<td>
        		<a href="">修改</a>|
        		<a href="">删除</a>
        	</td>
        </tr>
      
        $(".itemSelect").prop("checked",$(this).prop("checked"));
      
    • 左右移动

        <table>
        <tr>
        	<td>
        		<select id="left" multiple="true" style="width:100px" size="10">
        			<option>呜呜</option>
        			<option>哈哈</option>
        			<option>吼吼</option>
        			<option>呵呵</option>
        			<option>嘿嘿</option>
        			<option>嘻嘻</option>
        			<option>呼呼</option>
        			<option>喵喵</option>
        		</select>
        	</td>
        	<td>
        		<input type="button" value=">" id="toRight1"><br>
        		<input type="button" value=">>" id="toRight2"><br>
        		<input type="button" value=">>>" id="toRight3"><br><br>
        		<input type="button" value="<" id="toLeft1"><br>
        		<input type="button" value="<<" id="toLeft2"><br>
        		<input type="button" value="<<<" id="toLeft3">
        	</td>
        	<td>
        		<select id="right" multiple="true" style="width:100px" size="10">
      
        		</select>
        	</td>
        </tr>
      

      jquery代码

        $(function() {
      
        $("#toRight1").click(function() {
        	$("#left>option:selected:first").appendTo($("#right"));
        });
        
      
        $("#toRight2").click(function() {
        	$("#left>option:selected").appendTo($("#right"));
        });
        
        $("#toRight3").click(function(){
        	$("#right").append($("#left>option"));
        });
      
        });
      
    • 省市联动

        <select name="pro">
        		<option >-请选择-</option>
        		<option value="0">黑龙江</option>
        		<option value="1">吉林</option>
        		<option value="2">辽宁</option>
        		<option value="3">河南</option>
        	</select>
        <select name="city">
        		<option >-请选择-</option> 	
        </select>
      
        // 定义二维数组:
        var arr = new Array(4);
        arr[0] = new Array("哈尔滨","齐齐哈尔","大庆","佳木斯");
        arr[1] = new Array("长春市","吉林市","四平市","通化市");
        arr[2] = new Array("沈阳市","锦州市","大连市","铁岭市");
        arr[3] = new Array("郑州市","洛阳市","安阳市","南阳市");
      
      
      
        $(function() {
        $("#pro").change(function() {
        	//获取当前所选择的城市信息
        	var pro = $(this).val();
        	//初始化city的信息
        	$("#city").html($("<option>").html("-请选择-"));
        	//获取数组
        	var cityArr = arr[pro];
        	//遍历数组
        	for(var i = 0; i < cityArr.length; i++) {
        		$("#city").append("<option>" + cityArr[i] + "</option>")
        	}
      
      
        	//cities.each(function(){
        	//	$city.append("<option>"+this+"</option>");
        		//$city.html($(""));
        	});
        });
        })
      
  • JQuery中的AJAX

    • load

        //通过load加载本地文件
        $("#div1").load("index.jsp");
      
    • get

        //地址,回调
        $.get(URL,callback);
        
        $.get("${pageContext.request.contextPath}/servlet/AJaxServlet?username=zhangsan",function(data, status) {
        		alert(data + "----" + status);
        });
      
    • post
      //地址,参数,回调
      $.post(URL,data,callback);

        $.post("${pageContext.request.contextPath}/servlet/AJaxServlet", {
        	username : "zhangsan",
        	password : 123
        },
        function(data, status) {
        	alert(data + "----" + status);
        });
      
    • ajax
      $.ajax({name:value, name:value, … })

##JQuery案例

  • 案例一:

    验证用户名是否存在

  • 案例二:

    ajax提交表单

      	javascript] view plain copy
    
    
      		$.ajax({  
                      type: "POST",  
                      url:"SearchInfo/QueryMoreInfo",  
                      data:$('#fm').serialize(),// 序列化表单值  
                      async: false,  
                      error: function(request) {  
                          alert("Connection error");  
                      },  
                      success: function(data) {  
                          window.location.href="跳转页面"  
                      }  
               });  
    
  • 案例三:

    三级联动效果

  • js中json

      JSON字符串:
      var str1 = '{ "name": "cxh", "sex": "man" }';
    
    
      JSON对象:
      var str2 = { "name": "cxh", "sex": "man" };
    
    
      JSON对象
      var s = {
      	"name" : "Jack",
      	"age" : 30,
      	"isMan" : true,
      	"school" : {
      		"name" : "Lonton University",
      		"location" : "English"
    
      	}
      };
      alert(s.school.name);
    
    
    
      JSON字符串转换为JSON对象
      var m = '{"username" : "zhangsan","password" : "lisi"}';
      var mobject=eval("("+m+")");
      jquery中将json字符串转换成对象
      alert($.parseJSON(str1));
    
      JSON对象转换成JSON字符串(需要导入json.js包)
      var last=JSON.stringify(obj); //将JSON对象转化为JSON字符
    
  • 案例

  • JQuery实现三级联动:

    -请选择- -请选择- -请选择-
      <input  type="submit" />
    
      //1--先将省加载进来
      $(function() {
      	$.ajax({
      		type : "POST",
      		url : "${pageContext.request.contextPath }/user_province.action",
      		dataType : "json",
      		success : function(data) {
      			//alert(data);
      			//1--获取pro选择框
      			$("#proId").html("<option value=0>-请选择-</option>");
      			//2-遍历data,设置pro展示的城市
      			$.each(data, function() {
      				$("#proId").append(
      						"<option value=" + this.provinceid + ">"
      								+ this.name + "</option>");
    
      			});
      		}
      	});
      $("#proId").change(function(){
      
      $.ajax({
      	type : "POST",
      	url : "${pageContext.request.contextPath }/user_city.action",
      	//data 根据省的id 获取城市  
      	data:"pid="+$(this).val(),
      	dataType : "json",
      	success : function(data) {
      		//alert(data);
      		//1--获取pro选择框
      		$("#cityId").html("<option value=0>-请选择-</option>");
      		//2-遍历data,设置pro展示的城市
      		$.each(data, function() {
      			$("#cityId").append(
      					"<option value=" + this.cityid + ">"
      							+ this.name + "</option>");
      		});
      	}
      });
      });
      
      $("#cityId").change(function(){
      
      $.ajax({
      	type : "POST",
      	url : "${pageContext.request.contextPath }/user_xcity.action",
      	//data 根据省的id 获取城市  
      	data:"cid="+$(this).val(),
      	dataType : "json",
      	success : function(data) {
      		//alert(data);
      		//1--获取pro选择框
      		$("#xcityId").html("<option value=0>-请选择-</option>");
      		//2-遍历data,设置pro展示的城市
      		$.each(data, function() {
      			$("#xcityId").append(
      					"<option value=" + this.xcityid + ">"
      							+ this.name + "</option>");
      		});
      	}
      });
      });
      });
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海淀小鸡腿

跟着内心走,哈哈

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值