zoukankan      html  css  js  c++  java
  • jquery基础知识

    一、jquery的基本介绍

      1、什么是jquery?

        jQuery是一个快速的,简洁的javaScript库,使用户能更方便地处理HTML 、documents、events、实现动画效果,并且方便地为网站提供AJAX交互。

      2、什么是jquery对象?

        Query 对象就是通过jQuery包装DOM对象后产生的对象。jQuery 对象是 jQuery 独有的如果一个对象是 jQuery 对象那么它就可以使用 jQuery 里的

    所有方法.

      3、jquery的基础语法格式格式:

        $(selector).action(x)

        其中selector指代的是定位某一个节点,action指的是对某一个节点所做的操作,x指的是所要操作的具体内容。

    二、定位节点的方法

      1、通过选择器来定位某个节点

        1、基本选择器     

          1、$("*")        定位body中所有的节点

          2、$("#id")       通过id的方式来定位某个节点

          3、$(".class")      通过类的方式来定位某些节点

          4、$("element")     通过节点名称的方式来定位某些节点

          5、$(".class,p,div")  可以通过多种方式来定位不同的节点

        2、层级选择器  

          1、$("x div")     通过查找后代的方式来定位节点且获取x节点的后代节点div

          2、$("x >div")    通过查找子代的方式来定位节点且获取x节点的子代节点div

          3、$("x +div")    通过查找毗邻标签的方式来定位节点且获取x节点后面的毗邻的节点div

          4、$("x ~div")    通过查找自身以下的兄弟的方式来定位节点且获取x节点后面的同级节点div

        3、属性选择器

          1、$('[name="div1"]')    通过节点自定义属性来定位节点

          2、$('[alex="sb"][id]')   通过节点的自定义属性和节点固有属性相结合来定位节点

        4、表单选择器(属性选择器的一种)

          1、$("[type='text']")----->$(":text") 只适用于表单,比如说是input标签

      2、通过筛选器来筛选所定位到的节点

        1、基本筛选器

          1、$("selector:not(.res)")    筛选出class不是res的节点
          2、$("selector:eq(x)")     筛选出索引号为x的节点,只能筛选出一个节点,并且从0开始计算
          3、$("selector:lt(x)")     筛选出索引号小于x的节点,顾头不顾尾。
          4、$("selector:gt(x)")     筛选出索引号大于于x的节点,顾头不顾尾。
          5、$("selector:even")      筛选出行号或个数是奇数的节点

          6、$("selector:odd")       筛选出行号或个数是偶数的节点

          7、$("selector:first")      筛选出第一个节点即索引号为0

          8、$("selector:last")       筛选出最后一个节点

        2、可见性过滤器

          1、$("[selector]:hidden")      筛选出隐藏节点,其中selector可以不写表示对整个body查找

          2、$("selector:visible")       筛选出可见节点

        3、其他高级过滤筛选器(主要是为了配合选择器和筛选器灵活使用)       

          1、$("selector").eq(x)        筛选出索引号为x的节点,只能筛选出一个节点,并且从0开始计算

          2、$("selector").first()       筛选出第一个节点即索引号为0

          3、$("selector").hasclass("x")    筛选出有x属性得到节点

        3、其他高级过滤筛选器,导航属性的查找 

          2、$("selector").next()                筛选出的节点中查找毗邻的下一个节点

          3、$("selector").nextAll()               筛选出的节点中查找下面的所有节点

          4、 $("selector").nextUntil(x)         筛选出的节点到属性x节点之间的节点向下查找

          5、$("selector").prev()          筛选出的节点中查找毗邻的上一个节点

          6、$("selector").prevAll()         筛选出的节点中查找上面的所有节点
          7、$("selector").prevUntil()           筛选出的节点到属性x节点之间的节点向上查找

          8、 $("selector").siblings()                           筛选出 所有同一级别的兄弟标签,但自己除外。

          9、$("selector").children(".x")        筛选出的节点中查找属性为.x的子代节点,如果不跟x则是查找所有子代节点

           10、$("selector").find(".x")             筛选出的节点中查找属性为.x的后代节点,必须跟x

           11、 $("selector").parent()         筛选出当前节点的第一个父节点

           12、 $("selector").parents()          筛选出当前节点的所有父节点
           13、$("selector").parentUntil(x)          筛选出当前节点到属性节点x之间的节点筛选出的节点到属性x节点之间的节点向上查找

    三、操作事件节点

      1、事件绑定

        1、事件绑定:

          格式1:jquery(''selector").绑定的事件(function () { 执行的函数})

          格式2::$(''x'').绑定的事件(function(){})

      2、事件委派(就是父标签把事件委派给了子标签)

        1、格式:

           $("'selector").on(''绑定的事件'',''节点对象'',function () { 执行的函数})

           其中selector指的是父标签,节点对象指的是父标签下的子标签。

           

      3、事件委派解除   

         1、事件委派解除格式 

            $("selector").off("节点对象")

            注释:selector指的是节点对象的父节点

      4、页面载入(等同于js中的onload事件,但是有几个特殊的事件)

        1、方式1:$(''x'').ready(function(){ })     

        2、方式2:$(function(){})

     

      5、hover事件(可以绑定两个函数)

        1、格式:$(''x'').hover(x,y) 

        2、x指的是鼠标移到元素上要触发的函数,y指的是鼠标移出元素要触发的函数,其中xy的位置是不可改变的

        

      6、jquery中的事件

        1、普通事件

        

     四、操作节点属性

      1、添加和删除节点中的属性  

        1、$("selector").addClass(x)              给某个节点添加一个属性 

        2、$("selector").addClass(x y z)    给某个节点添加多个属性 

          其中selector指的是定位到的节点,x指的是为该节点添加属性

         3、$("selector").removeClass(x)        给某个节点删除一个属性

         4、$("selector").removeClass(x y z)   给某个节点删除多个属性
          其中selector指的是定位到的节点,x指的是为该节点删除属性

      2、获取和修改节点中的属性

        1、$("selector").attr(''属性名'')                      获取某个节点的属性值

        2、$("selector").attr({''属性名1'':''属性值1'',''属性名2'':''属性值2''})      设置某个节点的多个属性值

        3、$("selector").attr(''属性名'',''属性值'')             将谋个节点的属性值重新赋值

        4、$("selector").attr(''属性名'',function(){})             将谋个节点的属性值重新赋值且赋值为一个函数

        5、$("selector").prop()                                                              处理节点的固有属性时候用到。返回的结果是true和false.

      3、获取和修改节点中的css样式

        1、$("selector").css(''样式属性名'')                   获取某个节点的属性样式

        2、$("selector").css([''样式属性名1'',''样式属性名2''])       获取某个节点的多个属性样式

        3、$("selector").css(''样式属性名'',''属性样式值'')          设置某个节点的属性样式值

        4、$("selector").css({''样式属性名1'':''属性样式值1'',''样式属性名2'':''属性样式值2''})     设置某个节点的多个属性样式值

      4、获取和修改节点中的css尺寸

         1、$("selector").width()            获取某个元素的宽度

           2、$("selector").width("x")           设置某个元素的宽度

           3、$("selector").height()            获取某个元素的长度

           4、$("selector").height("x")          设置某个元素的长度

           5、$("selector").innerHeight()          获取某个元素的高度,包括padding内边距
          6、$("selector").innerWidth()           获取某个元素的宽度,包括padding内边距
          7、$("selector").outerHeight([soptions])  获取某个元素的高度,包括padding内边距和border外边距
          8、$("selector").outerWidth([options])      获取某个元素的宽度,包括padding内边距和border外边距
     5、获取和修改节点中的css位置

        1、$("selector").offset()             获取某个元素相对于DOM的偏移位置
          注释:后面通过.left.top 可以得到相对于DOM的左边顶部的偏移距离
        2、$("selector").offset({left:x,top:y})     设置某个元素相对于DOM向左边偏移x,向上面偏移y

        3、$("selector").position()           获取某个元素相对于父元素的偏移位置 
          注释:后面通过.left.top可以得到相对于父元素的左边顶部的偏移距离
        4、$("selector").position({left:x,top:y})   不能这么设置,该方法只能取值不能设置。

        5、$(window).scrollTop()           获取DOM的垂直滚动条的值,因为获取的是DOM对象所以必须写window或者是document或者是''body''

         注释:window窗口指的是电脑打开网页时电脑显示网页的窗口,DOM窗口指的是打开网页时网页中html的窗口

        6、$(window).scrollTop(x)           设置DOM的垂直滚动条的值为x

        7、$(window).scrollLeft()            获取DOM的水平滚动条的值
        8、$(window).scrollLeft(x)           设置DOM的水平滚动条的值为x

        9、$(window).scroll(fn)          设置监听滚动条事件,只要滚动条一滚动,里面的fn函数就会被触发执行。

          

        10、可以通过在css样式中设置"overflow:scroll | auto"的方式来设置小窗口式的滚动条

      6、查看和修改节点中的文本
          1、$("x").text()            获取x节点中的文本
          2、$("x").text(‘y’)          把x节点中的文本设置成y
          3、$("x").html()             获取节点x中的文本,如果该文本中有标签则也一并获取
          4、$("x").html('y')           把节点x中的文本设置成y    
          5、$("input").val()           获取表单中的文本
          6、$("input").val('y’)         把表单中的文本替换为y
          7、$("input").val(['x','y','z'])    把表单中的文本替换为x,y,z,一般应用于多个表单,比如说复选框,下拉列表等        
          8、$("selector").size()         获取搜索到的节点的个数     
          9$("selector").length         检测出搜索到的节点的个数 

    五、创建节点
      1、创建节点格式:

        方式1:$(''<节点名称>'')

        方式2:$(''<节点名称 属性>文本内容</节点名称>'')

      2、将子节点添加到查找到的父节点中

        1、$("x").append(y)        将子节点y追加到父节点x中,且y在x的子节点的最后面
         2、$("x").appendTo(y)      将子节点x追加到父节点y中   且x在y的子节点的最后面
          3、$("x").prepend(y)      将子节点y追加到父节点x中,且y在x的子节点的最前面
          4、$("x").prependTo(y)      将子节点x追加到父节点y中,且x在y的子节点的最前面
      3、将节点添加到兄弟节点中
        1、$("x").after(y)         将节点y添加到兄弟节点x后
          2、$("x").before(y)        将节点y添加到兄弟节点x前
         3、$("x").insertAfter(y)     将节点x添加到兄弟节点y后
         4、$("x").insertBefore(y)    将节点x添加到兄弟节点y后
      4、删除节点
        1、$("x").remove('.y') 不带参数时直接删除x节点极其子节点,带参数时删除属性为y的x节点
        2、$("x").empty()       清空节点x里面的文本,但是节点还在
      5、复制节点
        1、$("x").clone(true) 复制一个x的节点
      6、替换节点
        1、$("x").replaceWith('y') 将节点x替换成节点y
    六、each循环
      1、格式1:
        $('x').each(function(){})
        
        注释:该方法是直接调用jquery下的对象循环,然后用$(this)来打印出循环对象下的每一个元素
      2、格式2:
        $.each(obj,function(x,y){})
        

        注释:obj指的是要循环的对象,x是循环对象元素的索引号,y是循环对象的元素。该方法只是调用了jquery下的类。

       3、each扩展

        1、rethun :结束当前循环,开始下一次循环

        

       2、return false:结束本轮循环

        
    七、动态渐变效果
      1、显示隐藏
        1、$("x").show()         显示节点x
        2、$("x").show(y)       用了y/1000秒的时间显示了节点x
        3、$("x").hide()   隐藏节点x
        4、$("x").hide(y)         用了y/1000秒的时间隐藏了节点x
        5、$("x").toggle(y)      用于show和hide直接的切换,其中y指的是切换的时间
        6、实例:
       
        注释:show和hide以及toggle内不仅可以跟秒数还可以跟函数,当执行完这个内容后再执行函数
      2、滑动
        1、$("x").slideDown()    节点x向下滑动
        2、$("x").slideDown(y)   节点x向下滑动y毫秒
        3、$("x").slideUp()         节点x向上滑动
        4、$("x").slideUp(y)       节点x向上滑动y毫秒
        5、$("x").slideToggle(y)  用于slideDown和.slideUp之间的切换
        6、实例:
          

        注释:slideDown和.slideUp以及slideToggle内不仅可以跟秒数,也可以跟具体函数

      3、淡入淡出

        1、 $("x").fadeIn(y)       节点x淡入时间y毫秒

        2、$("x").fadeOut(y)     节点x淡出时间y毫秒

        3、$("x").fadeToggle(y);   fadeIn和fadeOut之间的来回切换,y指的是淡入淡出的时间

      4、自定义动画

        1、格式:$(''x'').animate(a,b,c)

          

          

          其中x指的是需要动画的对象,a指的是css对象为键值对的形式,b指的是变化的毫秒数,c指的是回调的函数,其中bc可不用写

          其执行的顺序是a>b>c,a中的代码只要是修饰css都可以写进去。

        2、动画的位移

          

          注释:动画的位置移动必须是父元素绝对定位,否则就查找上一级元素的绝对位置,直到body

        3、在当前位置或状态下位移(不需要定义父元素的绝对位置)

        4、同一元素实现自定义动画队列效果

          方法1:通过回调函数实现队列效果

          

        ···注释:不同元素实现队列动画效果(a,b,c为兄弟标签中的不同元素,需要先执行完a再执行b再执行c)就可通过元素嵌套的方法也就是回调函数的方法实现执行完a元素后执行b元素最后执行c元素

          方法2:通过依次顺序实现队列效果,但是必须在同一个元素中。

           

          方法3:通过连缀实现队列效果

            

        5、对应队列动画方法注意事项:

          1、如果通过连缀的方法实现队列的动画效果,当连缀中的css中的方法不是动画方法时,会和连缀中的第一个动画方法一起执行,可通过回调

         函数的方式强制将其放在后面执行

          

    八、event事件对象

      1、event事件对象是指当我们触发一个事件时在event中会包含与触发事件的所有信息。

      2、鼠标事件

        

      3、DOM可视区域鼠标坐标事件

        1、介绍

    clientX

    可视区X坐标,距离左边框的位置,以html中的body为参照物

    clientY

    可视区Y坐标,距离上边框的位置,以html中的body为参照物

    screenX

    屏幕区X坐标,距离左屏幕的位置,以电脑屏幕为参照物

    screenY

    屏幕区Y坐标,距离上屏幕的位置,以电脑屏幕为参照物

        2、实例

        

      4、键盘事件

        1、e.keyCode 和e.charCode都是得到的是键盘字符所对应的asc表的数字,但是建议用前者,后者测试被淘汰

          

        2、String.fromCharCode(x)

          将asc对应的数字转换成字母,其中x就是asc中的数字。

        

      

        

    
    


          

  • 相关阅读:
    multiselect2side双向选择列表插件改进版
    通用权限管理平台--实现站点地图
    通用权限管理平台--系统日志
    通用权限案例平台--登录认证
    通用权限管理平台--代码结构
    通用权限管理平台--功能划分
    通用权限管理平台--架构选型
    tests
    Python 2.7_多进程获取简书专题数据(一)
    python2.7 爬取简书30日热门专题文章之简单分析_20170207
  • 原文地址:https://www.cnblogs.com/xuanan/p/7357999.html
Copyright © 2011-2022 走看看