#JQuery#JavaWeb学习笔记(2020/3/6)

一、JQuery是JS的一个框架,简化了开发。

如何使用JQuery:

  • 1、导入js文件
    • JQuery有三个大的版本、1.xxx、2.xxx、3.xxx
    • 普通项目一般使用1.xxx( 最终版本:1.12.4 )版本,兼容性最好。
  • 2、使用script标签导入js文件
  • 3、获取JQuery对象:语法格式
    var  JQuery对象 = $("选择器");

二、JQuery对象与JS对象的互相转化

\color{red}{注意JQuery对象和JS对象并不通用,需要转化}

     JQuery-- > JS: JQuery对象[索引] 或者 JQuery对象.get(索引)
     JS -- > JQuery: $(js对象)

三、JQuery选择器和样式控制

JQuery选择器、和CSS的选择器的语法相似。但是目的不同,CSS是为了改变样式、JQuery是一个JS的框架,用于进行一些操作。

基本选择器:
-  1、标签选择器:$("div")、选中所有的div标签。
-  2、id选择器:$("#idName")、选中id为idName的标签。
-  3、类选择器:$(".className")、选中所有class为className的标签。
-  4、并集选择器:$("选择器1,选择器2,....")、选中满足选择器的所有并集。
#####层级选择器:
-  1、后代选择器:$("A  B"),选中A的所有后代B,注意子孙也会被选中。
-  2、子选择器:$("A > B"),选中A的子元素的B,仅仅是父子关系,爷孙关系不会被选中的。
属性选择器:
-  1、 属性名称选择器:$("A[属性名B]"),选中所有包含属性名B的A标签。
-  2、属性选择器:$("A[ 属性名B='C' ]"),选中所有包含属性名B且属性值为C的A标签。
-  3、属性选择器:$("A[ 属性名B='C' ][...],..."),选中包含多个属性条件的选择器。
属性选择的模糊查询:
-  1、属性值以xxx开头:$("A[ 属性名B ^= 'xxx' ]")
-  2、属性值以xxx结尾:$("A[ 属性名B $= 'xxx' ]")
-  3、属性值包含xxx:  $("A[ 属性名B *= 'xxx' ]")
过滤选择器:
-  1、首元素选择器:$("选择器1:first"),选中选择器1选中的第一个标签。
-  2、尾元素选择器:$("选择器1:last"),选中选择器1选中的最后一个标签。
-  3、非元素选择器:$("选择器1:not(selector)"),选中选择器1选中的,其中除了selector选中的元素之外的所有元素。
-  4、奇数选择器:$("选择器1:odd"),选中选择器1选中的元素中,序号是奇数的元素。
-  5、偶数选择器:$("选择器1:even"),选中选择器1选中的元素中,序号是偶数的元素。
-  6、等于索引选择器:$("选择器1:eq(index)"),选中选择器1选中的元素中,序号是index的元素。
-  7、大于索引选择器:$("选择器1:gt(index)"),选中选择器1选中的元素中,序号大于index的元素。
-  8、小于索引选择器:$("选择器1:gt(index)"),选中选择器1选中的元素中,序号大于index的元素。
-  9、标签选择器:$(":header"),获取所有h1~h6标签,固定的写法!
表单过滤选择器:
-  1.获取选中的元素
    -  复选框:$(":checked")
    -  下拉列表:$(":selected")
-  2.获取可用或不可用元素的选择器
    -  可用:$(":enabled")
    -  不可用:$(":disabled")
入口函数:相当于JS中的window.onload = function() {};
$(function () {
            
        })
绑定事件:例如click事件。
$("#b1").click(function () {
                   
            });
修改css样式:
 $("#one").css("backgroundColor","red");

四、使用JQuery控制dom对象。

1、内容控制:
-  1.val()方法,获取或者修改dom的value属性值。相当于value属性。
-  2.html()方法,获取或者修改dom的标签体内容。相当于innerHTML属性。
-  3.text()方法,获取或者修改dom的纯文本内容。相当于 innerText属性。
2、通用属性控制:
-  1.attr()方法,获取/设置元素的属性
-  2.removeAttr()方法,删除属性
-  3.prop()方法,获取/设置元素的属性
-  4.removeProp()方法,删除属性

\color{red}{attr方法与prop方法使用的情景:}

    1. 操控标签原有的属性使用prop方法。
    1. 操控标签自定义的属性使用attr方法。
3、Class属性控制:
1. addClass():添加class属性值
2. removeClass():删除class属性值
3. toggleClass():切换class属性,若存在该class,则删除,若不存在该class,添加。
4. css():修改css的代码。
4、CRUD操作:
插入到内部
-  1.append()方法,
//对象1.append(对象2): 将对象2添加到对象1元素内部,并且在末尾
-  2.appendTo()方法,
//对象1.appendTo(对象2): 将对象1添加到对象2元素内部,并且在末尾
-  3.prepend()方法,
//对象1.prepend(对象2):将对象2添加到对象1内部,并且在开头
-  4.prependTo()方法,
//对象1.prependTo(对象2):将对象1添加到对象2内部,并且在开头
插入到同级
-  1.after()方法,
//对象1.after(对象2): 在对象1后面添加对象2。对象1和对象2是兄弟关系
-  2.before()方法,
//对象1.after(对象2): 在对象1前面添加对象2。对象1和对象2是兄弟关系
-  3.insertAfter()方法,
//对象1.insertAfter(对象2): 把对象1添加到对象2的后面。对象1和对象2是兄弟关系
-  4.insertBefore()方法,
//对象1.insertBefore(对象2): 把对象1添加到对象2的前面。对象1和对象2是兄弟关系
删除方法
-  1.remove()方法,删除对象。
//对象.remove():将对象删除掉
-  2.empty()方法,清空元素的所有后代元素。
//对象.empty():将对象的后代元素全部清空,但是保留当前对象以及其属性节点

五、JQuery动画效果

显示隐藏

-  1.显示:  show([speed],[easing],[fn]])方法
-  2.隐藏:  hide([speed],[easing],[fn]])方法
-  3.切换显隐:  toggle([speed],[easing],[fn]])方法
-  1.向下滑动显示:slideDown([speed],[easing],[fn])方法
-  2.向上滑动隐藏:slideUp([speed],[easing],[fn])方法
-  3.滑动切换显隐:slideToggle([speed],[easing],[fn])方法
-  1.淡入显示:fadeIn([speed],[easing],[fn])方法
-  2.淡出隐藏:fadeOut([speed],[easing],[fn])方法
-  3.淡入淡出切换显隐:fadeToggle([speed],[easing],[fn])方法
参数说明:
    -  [speed]参数:slow——慢,normal——普通,fast——快,自定义毫秒数。
    -  [easing]设置动画快慢:默认是swing(慢—快—慢),linear是匀速。
    -  [fn]设置动画执行时的回调函数。

六、JQuery遍历

  • 1.使用for循环,将JQuery对象转换成JS对象遍历。
            var citys = $("#city li");
            for(var i = 0;i<citys.length;i++){
                alert(citys[i].innerHTML);
            }
  • 2.使用each(function(index,element){}))方法。
      //语法格式: jquery对象.each(function(index,element){});
      //参数:    index:就是元素在集合中的索引
      //参数:    element:就是集合中的每一个元素对象,是JS对象。
      //方法返回值:返回true,相当于continue;返回false,相当于break;

 citys.each(function (index,element) {               
              //需求:遇到上海就结束循环或者跳过本次。
                if ($(element).text()=='上海'){
                    // return true;    //返回true,相当于continue;
                    return false;    //返回false,相当于break;
                }
});

七、JQuery事件的绑定与解绑

事件的绑定:

  • 1.jq对象.事件方法(回调函数);
    • 注意:如果调用事件方法,不传递回调函数,则会触发浏览器默认行为。例如:.jq对象.submit()方法不写回调函数,会直接提交表单。
    1. on("事件名称",回调函数)方法绑定事件。

事件的解绑:

  • off("事件名称")方法解绑事件。

事件的切换:

  • toggle(fn1,fn2...)方法实现方法间的切换,fn1—>fn2—>...—>fn1—>fn2—>...
    • 注意:1.9版本 .toggle() 方法删除,jQuery Migrate(迁移)插件可以恢复此功能。

八、JQuery插件(增强JQuery)

1、$.fn.extend(object)

  • 增强通过Jquery获取的对象的功能 $("#id")
        $.fn.extend({
            checked:function () {
               $(this).prop("checked",true);
            },unchecked:function () {
                $(this).prop("checked",false);
            }
        });
        $(function () {
            $("#btn-check").click(function () {
                $("input[type='checkbox']").checked();
            });
            $("#btn-uncheck").click(function () {
                $("input[type='checkbox']").unchecked();
            })
        })

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;
            }
        });
        alert("max(12,10)="+$.max(12,10));
        alert("min(12,10)="+$.min(12,10));
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,186评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,858评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,620评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,888评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,009评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,149评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,204评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,956评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,385评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,698评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,863评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,544评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,185评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,899评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,141评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,684评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,750评论 2 351

推荐阅读更多精彩内容

  • 云黯雷鸣闪斗, 顷刻风狂雨骤。 河路泛车舟。 水漫楼前庭后。 仰叩, 仰叩, 真个银河决漏?
    朋徽阅读 178评论 0 0
  • 今天下午我们上彩泥课,老师让我们捏一个可爱的小蜗牛,老师教给我们先捏蜗牛的壳和像月牙一样的身体,然后再捏一个圆圆的...
    暖男群哥阅读 120评论 0 0
  • 才御寒风 今又是 狼嚎鬼怨 顾新榻 一双绿眼 期期盼盼 原本茅庐平静地 何来此等荒唐犬 尚可啖 锅碗俱齐焉 同举盏...
    秋思枫醉阅读 213评论 0 0