JQuery学习笔记

目录

一、基础学习

1、概念

2、基本使用

3、JQuery对象和JS对象区别与转换

二、选择器

1、入口函数

2、基本选择器

3、 层级选择器

4、属性选择器

5、过滤选择器

6、表单过滤选择器

三、DOM操作

1、内容操作

2、属性操作

3、CRUD操作

四、动画

1. 默认显示和隐藏方式

2、滑动显示和隐藏方式

3、淡入淡出显示和隐藏方式

 五、遍历

1、jq对象.each(callback)

2、$.each(object, [callback])

3、for(元素对象 of 容器对象)

六、事件绑定

1. jquery标准的绑定方式

2.on绑定事件/off解除绑定

3.事件切换:toggle

七、插件

1. $.fn.extend(object)

2. $.extend(object)


一、基础学习

1、概念

jQuery是一个快速、简洁的JavaScript框架,封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。本质上就是一些js文件,封装了js的原生代码而已。

2、基本使用

1、导入JQuery的js文件

2、调用方法:var div1 = $("#div1");

3、JQuery对象和JS对象区别与转换

          转换:  jq -- > js : jq对象[索引] 或者 jq对象.get(索引)
                       js -- > jq : $(js对象)

         区别:1. JQuery对象在操作时,更加方便。
                    2. JQuery对象和js对象方法不通用的。

二、选择器

概念:(筛选具有相似特征的元素(标签))

1、入口函数

 $(function () {
	           
   			 });

 window.onload  和 $(function) 区别

         window.onload 只能定义一次,如果定义多次,后边的会将前边的覆盖掉
         $(function)可以定义多次的。

2、基本选择器

            1. 标签选择器(元素选择器)
				* 语法: $("html标签名") 获得所有匹配标签名称的元素
			2. id选择器 
				* 语法: $("#id的属性值") 获得与指定id属性值匹配的元素
			3. 类选择器
				* 语法: $(".class的属性值") 获得与指定的class属性值匹配的元素
			4. 并集选择器:
				* 语法: $("选择器1,选择器2....") 获取多个选择器选中的所有元素

3、 层级选择器

            1. 后代选择器
				* 语法: $("A B ") 选择A元素内部的所有B元素		
			2. 子选择器
				* 语法: $("A > B") 选择A元素内部的所有B子元素

4、属性选择器

            1. 属性名称选择器 
				* 语法: $("A[属性名]") 包含指定属性的选择器
			2. 属性选择器
				* 语法: $("A[属性名='值']") 包含指定属性等于指定值的选择器
			3. 复合属性选择器
				* 语法: $("A[属性名='值'][]...") 包含多个属性条件的选择器

5、过滤选择器

            1. 首元素选择器 
				* 语法: :first 获得选择的元素中的第一个元素
			2. 尾元素选择器 
				* 语法: :last 获得选择的元素中的最后一个元素
			3. 非元素选择器
				* 语法: :not(selector) 不包括指定内容的元素
			4. 偶数选择器
				* 语法: :even 偶数,从 0 开始计数
			5. 奇数选择器
				* 语法: :odd 奇数,从 0 开始计数
			6. 等于索引选择器
				* 语法: :eq(index) 指定索引元素
			7. 大于索引选择器 
				* 语法: :gt(index) 大于指定索引元素
			8. 小于索引选择器 
				* 语法: :lt(index) 小于指定索引元素
			9. 标题选择器
				* 语法: :header 获得标题(h1~h6)元素,固定写法

6、表单过滤选择器

            1. 可用元素选择器 
				* 语法: :enabled 获得可用元素
			2. 不可用元素选择器 
				* 语法: :disabled 获得不可用元素
			3. 选中选择器 
				* 语法: :checked 获得单选/复选框选中的元素
			4. 选中选择器 
				* 语法: :selected 获得下拉框选中的元素

三、DOM操作

1、内容操作

        1. html(): 获取/设置元素的标签体内容   <a><font>内容</font></a>  --> <font>内容</font>
		2. text(): 获取/设置元素的标签体纯文本内容   <a><font>内容</font></a> --> 内容
		3. val(): 获取/设置元素的value属性值

2、属性操作

        2.1、通用属性操作

            1. attr(): 获取/设置元素的属性
			2. removeAttr():删除属性
			3. prop():获取/设置元素的属性
			4. removeProp():删除属性
			* attr和prop区别?
				1. 如果操作的是元素的固有属性,则建议使用prop
				2. 如果操作的是元素自定义的属性,则建议使用attr

        2.2、对class属性操作

            1. addClass():添加class属性值
			2. removeClass():删除class属性值
			3. toggleClass():切换class属性(存在则删除,不存在则添加)
			4. css():$("#div1").css("background-color","red");

3、CRUD操作

        1. append():父元素将子元素追加到末尾
			* 对象1.append(对象2): 将对象2添加到对象1元素内部,并且在末尾
		2. prepend():父元素将子元素追加到开头
			* 对象1.prepend(对象2):将对象2添加到对象1元素内部,并且在开头
		3. appendTo():
			* 对象1.appendTo(对象2):将对象1添加到对象2内部,并且在末尾
		4. prependTo():
			* 对象1.prependTo(对象2):将对象1添加到对象2内部,并且在开头
	    5. after():添加元素到元素后边
			* 对象1.after(对象2): 将对象2添加到对象1后边。对象1和对象2是兄弟关系
		6. before():添加元素到元素前边
			* 对象1.before(对象2): 将对象2添加到对象1前边。对象1和对象2是兄弟关系
		7. insertAfter()
			* 对象1.insertAfter(对象2):将对象2添加到对象1后边。对象1和对象2是兄弟关系
		8. insertBefore()
			* 对象1.insertBefore(对象2): 将对象2添加到对象1前边。对象1和对象2是兄弟关系
		9. remove():移除元素
			* 对象.remove():将对象删除掉
		10. empty():清空元素的所有后代元素。
			* 对象.empty():将对象的后代元素全部清空,但是保留当前对象以及其属性节点
		11. clone():克隆匹配的DOM元素并且选中这些克隆的副本。

四、动画

1. 默认显示和隐藏方式

        显示: show([speed,[easing],[fn]])

$("#showDiv").show("slow", "linear");

         隐藏:hide([speed,[easing],[fn]])

$("#showDiv").hide("slow", "swing");

         切换:toggle([speed],[easing],[fn])

$("#showDiv").toggle("fast");

2、滑动显示和隐藏方式

        显示:slideDown([speed],[easing],[fn])

$("#showDiv").slideDown("slow");

         隐藏: slideUp([speed,[easing],[fn]])

$("#showDiv").slideUp("slow");

        切换:slideToggle([speed],[easing],[fn])

$("#showDiv").slideToggle("slow");

3、淡入淡出显示和隐藏方式

        显示:fadeIn([speed],[easing],[fn])

$("#showDiv").fadeIn("slow");


        隐藏:fadeOut([speed],[easing],[fn])

$("#showDiv").fadeOut("slow");


        切换:fadeToggle([speed,[easing],[fn]])

$("#showDiv").fadeToggle("slow");

 五、遍历

1、jq对象.each(callback)

语法:jquery对象.each(function(index,element){});

        * index:就是元素在集合中的索引
        * element:就是集合中的每一个元素对象
        * this:集合中的每一个元素对象

 回调函数返回值:

        * true:如果当前function返回为false,则结束循环(break)。
        * false:如果当前function返回为true,则结束本次循环,继续下次循环(continue)

citys.each(function (index,element) {
                //获取li对象,this
               alert(this.innerHTML);
                //转换为jq
              //  alert($(this).html());
                //获取li对象,在回调函数中定义参数 index索引,element:元素对象
              //  alert(index+":"+element.innerHTML);
              //循环控制条件
                if ("上海" == $(element).html()){
                    //当前function返回false,结束循环(break)。
                    return false;
                    //当前function对象返回true,则结束本次循环,继续下次循环(continue)
                    return true;
                }
                //转换为jq
                alert(index+":"+$(element).html());
            })

2、$.each(object, [callback])

$.each(citys,function () {
                alert($(this).html())
            });

3、for(元素对象 of 容器对象)

jquery 3.0 版本之后提供的方式

for (li of citys){
    alert($(li).html());
}

六、事件绑定

1. jquery标准的绑定方式

        jq对象.事件方法(回调函数);

$("#name").click(function () {
                alert("被点击了。。。。")
            });
//如果调用事件方法,不传递回调函数,则会触发浏览器默认行为。
$("#name").focus();

2.on绑定事件/off解除绑定

        jq对象.on("事件名称",回调函数)

 //使用on绑定单击事件
            $("#btn").on("click", function () {
                alert("被点击了")
            });

        jq对象.off("事件名称")

 //使用off解除 btn的单击事件
            $("#btn2").click(function () {
                $("#btn").off("click");
                //将组件上的所有事件解绑
                $("#btn").off();
            });

3.事件切换:toggle

         jq对象.toggle(fn1,fn2...)
            * 当单击jq对象对应的组件后,会执行fn1.第二次点击会执行fn2.....

 $(function () {
            //获取按钮,调用toggle方法
            $("#btn").toggle(function () {
                //改变div背景色为green
                $("#myDiv").css("backgroundColor","green");
            }, function () {
                //改变div背景色为pink
                $("#myDiv").css("backgroundColor","pink");
            });
        });

注意:1.9版本 .toggle() 方法删除,jQuery Migrate(迁移)插件可以恢复此功能。

七、插件

作用:增强JQuery的功能 

1. $.fn.extend(object)

        增强通过Jquery获取的对象的功能  $("#id")

         //定义jquery的对象插件
        $.fn.extend({
            //定义一个check方法。
            check:function () {
                //让复选框选中
                this.prop("checked",true);
            },
            uncheck:function () {
                //取消复选框选中
                this.prop("checked",false);
            }
        });
        $(function () {
            //获取按钮
            $("#btn-check").click(function () {
                //获取复选框对像
                $("input[type='checkbox']").check();
            });
            $("#btn-uncheck").click(function () {
                //获取取消复选框对象
                $("input[type='checkbox']").uncheck();
            });
        });

2. $.extend(object)

        增强JQeury对象自身的功能  $/jQuery  

     //对全局方法扩展2个方法,扩展min方法:求2个值的最小值;扩展max方法:求2个值最大值
        $.extend({
            max: function (a, b) {
                //返回最大值
                return a >= b ? a : b;
            },
            min: function (a, b) {
                //返回最小值
                return a <= b ? a : b;
            }
        });
        //调用
        var max = $.max(1, 5);
        // alert(max);

        var min = $.min(2, 6);
        alert(min);

      

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值