jQuery技术学习总结

一、jQuery简介

  • jQuery是一个JavaScript库,它能够简化JavaScript编程。
  • jQuery是目前最流行的JS框架。
  • jQuery能够兼容于目前所有主流的浏览器,包括IE6。
  • jQuery能够对HTML元素进行选取和修改、实现JavaScript动画、选取操作dom对象、绑定事件、CSS操作、Ajax请求等。

二、第一个jQuery实例

/*
    $(document):$是jQuery中的函数名称,document作为函数的参数
    作用是将document对象转化为jQuery库能用的对象

    ready 是jQuery中的函数 dom加载成功后会执行ready函数中的内容

    function是自定义函数,在onLoad之后执行
*/
$(document).ready(function () {
    alert("Hello jQuery")
})

//与上述代码功能相同(是其简化写法)
$(function(){
    alert("Hello jQuery")
})

三、dom对象与jQuery对象的相互转换

  • dom对象转换为jQuery对象
/*
    dom对象:使用js创建的对象
    jQuery对象:使用jQuery语法创建的对象,jQuery对象是一个数组
    
    dom对象可以与jQuery对象相互转换

    dom对象转换为jQuery对象之后才可使用jQuery的函数
*/
function change() { 
    //将dom对象转换为jQuery对象
    var obj = document.getElementById("id");
    //使用dom的value属性性获取值
    alert(obj.value);
    //转换
    var jObj = $(obj);
    //显示结果
    alert(jObj.val());	//val()是jQuery中的函数,下文中有详细说明
}
  • jQuery对象转换为dom对象
function change() {  
    //使用jQuery语法获取页面中的dom对象
    var obj = $("#id").get(0);     //通过数组下标获取dom对象
    var n = obj.value;
    obj.value = n * n;			//更新dom中value的值
}

四、jQuery选择器

  • 基本选择器:id、class、标签、混合选择器等
function func1() { 
    var obj = $("#one");				//id选择器
    obj.css("background","red");		//更新css
}

function func2() { 
    var obj = $(".two");				//class选择器
    obj.css("background","red");		//更新css
}

function func3() { 
    var obj = $("span");				//标签选择器
    obj.css("background","red");		//更新css
}

function func4() { 
    var obj = $("*");					//全局选择
    obj.css("background","red");		//更新css
}

function func5() { 
    var obj = $("#one,.two");			//混合选择器
    obj.css("background","red");		//更新css
}
  • 表单选择器:根据type属性值定位
    语法:$(":表单类型")
function func1() {
    var obj = $(":text");			//文本框
    alert(obj.val());
}

function func2() { 
    var obj = $(":radio");			//单选按钮
    for (var i=0; i < obj.length; i++){
        var dom = obj[i];
        alert(dom.value);
    }  
}

function func3() { 
    var obj = $(":checkbox");			//复选框
    for (var i=0; i<obj.length; i++){
        var dom = obj[i];
        var jobj = $(dom);
        alert(jobj.val());
    }
}

五、jQuery过滤器

  • 基本过滤器:

      1.选择第一个first,保留数组中第一个dom对象     $("选择器:first") 
      2.选择最后一个last,保留数组中最后一个dom对象   $("选择器:last")
      3.选择数组中指定对象        		           $("选择器:eq(索引)")
      4.选择数组中小于索引的全部dom对象       		   $("选择器:lt(索引)")
      5.选择数组中大于索引的全部dom对象       		   $("选择器:gt(索引)")
    
//基本过滤器:
$(function(){
    $("#btn1").click(function(){
        var obj = $("div:first");			//获取所有div中第一个dom对象
        obj.css("background","red");
    })

    $("#btn2").click(function(){
        var obj = $("div:last");			//获取所有div中最后一个dom对象
        obj.css("background","red");
    })

    $("#btn3").click(function(){
        var obj = $("div:eq(2)");			//获取所有div中下标等于2的dom对象
        obj.css("background","red");
    })

    $("#btn4").click(function(){
        var obj = $("div:lt(2)");			//获取所有div中下标小于2的所有dom对象
        obj.css("background","red");
    })

    $("#btn5").click(function(){
        var obj = $("div:gt(2)");			//获取所有div中下标大于2的所有dom对象
        obj.css("background","red");
    })
})
  • 表单属性过滤器:
/*
    表单属性过滤器
*/
$(function(){
    $("#btn1").click(function(){
        var obj = $(":text:enabled");			//获取所有文本框中可编辑的
        obj.val("hello");						//设置文本框的值
    })

    $("#btn2").click(function(){
        var obj = $(":checkbox:checked");			//获取所有复选框中被选中的
        for(var i=0; i<obj.length; i++){				//输出获取的值
            alert(obj[i].value);
        }
    })

    $("#btn3").click(function(){
        var obj = $("select>option:selected");			//获取所有下拉列表框中被选中的
        for(var i=0; i<obj.length; i++){				//输出获取的值
            alert(obj[i].value);
        }
    })
})

六、jQuery常用事件

$(function(){
	//1.鼠标单击事件
    $("#btn").click(function () {  
    	//添加新的按钮
        $("div").append("<input type='button' id='newBtn' value='新增按钮'/>")
        //为新增按钮添加监听事件
        $("#newBtn").on("click",function () {  
            alert("新增的按钮被单击了");
        })
    })
    
	//2.鼠标双击事件
	$("div").dblclick(function () {  
	    $("div").hide();
	})
	
	//3.表单事件
	$(":text").change(function(){
	    alert("表单已被修改")
	})
})

七、jQuery函数

  • 函数:val();text();attr();

    val():操作dom对象中的value属性,带参数时是给value赋值,不带参数时是取值
    text():操作数组中所有dom对象的文字显示内容属性
    attr():对val,text之外的其他属性进行操作
    		$(选择器).attr("属性名"):获取dom对象数组第一个对象的属性值
    		$(选择器).attr("属性名","属性值"):设置数组所有dom对象的指定属性值
    
$(function(){
    $("#btn1").click(function(){
        var obj = $(":text");
        //获取第一个文本框值
        alert(obj.val());
        
        //获取所有文本框值
        for(var i=0; i<obj.length; i++){
             var dom = obj[i];
             alert(dom.value);
        }
    })

    $("#btn2").click(function(){ 
        $(":text").val("三国演义");
    })

    $("#btn3").click(function(){ 
        //text()函数用于获取所有div的文本值,连成一个字符串
        alert($("div").text());
    })

    $("#btn4").click(function(){ 
        //text("参数")函数用于设置所有div的文本值
        $("div").text("hahahahahah");
    })

    $("#btn5").click(function(){ 
        //attr()函数用于获取某标签指定属性的值
        alert($("img").attr("src"));
    })

    $("#btn6").click(function(){ 
        //attr("属性名","值")函数用于设置指定属性的值
        $("img").attr("src","../img/t16.jpg");
    })
})
  • 函数:remove(); empty(); append(); html(); each();
$(function(){
    $("#btn1").click(function(){
        //remove()去除所有父子对象
        $("select").remove();
    })

    $("#btn2").click(function(){
        //empty()只去除所有子对象
        $("select").empty();
    })

    $("#btn3").click(function(){
        //append(参数)为指定dom对象添加元素
        $("div").append("<input type='button' value='新增按钮' />");
        $("div").append("<table style='border:1px solid black;'><tr><td>第一列</td><td>第二列</td></tr></table>")
    })

    $("#btn4").click(function(){
        //html()获取标签内容
        alert($("span").html());
    })

    $("#btn5").click(function(){
        //html(参数)设置指定dom对象的内容
        $("span").html("我是新的<b>元素</b>");
    })

    $("#btn6").click(function(){
        //each()循环普通数组
        var arr = [11,22,33];
        $.each(arr, function (i,n) {  
            alert("i是索引:"+i+",n是值:"+n);
        })
    })

    $("#btn7").click(function(){
        //each()循环dom对象数组
        var arr = $(":text");
        $.each(arr, function (i,n) {  
            alert("i是索引:"+i+",n是值:"+n.value);
        })
    })

    $("#btn8").click(function(){
        //each()循环json数组
        var json = {"name":"张安","age":"23"};
        $.each(json, function (i,n) {  
            alert("i是key:"+i+",n是值:"+n);
        })
    })

    $("#btn9").click(function(){
        //each()循环对象,jquery对象就是包含若干个dom对象的数组
        var obj = $(":text");
        $(":text").each(function (i,n) {  
            alert("i="+i+", n="+n.value);
        })
    })
})

八、jQuery动画

  • 隐藏、显示
$(function () {
    //隐藏元素
    $("#hide").click(function () {
        $("#view").hide();
    })

    //显示元素
    $("#show").click(function () {
        $("#view").show();
    })
})
  • 淡入、淡出
    语法: $(选择器).fadeIn(speed,callback)
    语法: $(选择器).fadeOut(speed,callback)
    语法: $(选择器).fadeToggle(speed,callback)
    参数speed:淡入淡出的速度,取值slow、空、数字(毫秒)
    参数callback:为淡入淡出后执行的函数。
$(function () {
	//淡入
	$("#in").click(function () {
	    $("#div1").fadeIn();
	    $("#div2").fadeIn("slow");
	    $("#div3").fadeIn(4000);
	})
	
	//淡出
	$("#out").click(function () {
	    $("#div1").fadeOut();
	    $("#div2").fadeOut("slow");
	    $("#div3").fadeOut(4000);
	})
	
	//fadeToggle
	$("#io").click(function () {
	    $("#div1").fadeToggle();
	    $("#div2").fadeToggle("slow");
	    $("#div3").fadeToggle(4000);
	})
})
  • 滑动
$(function () {
	//向下滑
	$("#slide1").click(function () {
	    $("#content").slideDown();
	})
	
	//向上滑
	$("#slide2").click(function () {
	    $("#content").slideUp(3000);
	})
	
	//slideToggle
	$("#slide3").click(function () {
	    $("#content").slideToggle("slow");
	})
})
  • 动画
    语法:$(选择器).animate({param},speed,callback)
    参数speed:取值slow、空、数字(毫秒)
    参数params: 参数定义形成动画的 CSS 属性
    参数callback:完成动画后执行的函数
$(function () {
    //演示动画
    $("#begin").click(function () {  
        $("#div1").animate({
            left:'200px',
            width:'100px',
            heigth:'100px'
        },4000);
    })

    //停止动画
    $("#stop").click(function (){
        $("#div1").stop();
    })
})

九、jQuery实现Ajax异步请求

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

krain.

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值