Jquery入门小知识

1.jquery的使用

使用jquery需要引入jquery文件

 <script src="...文件路径"></script>
    <script>
      ...jquery格式的代码
    </script>

2.jquery的入口函数以及基础语法

基础语法:
  $(选择器).执行的动作(动作执行的方法)
  例如:
    $(document).ready(function(){
      ...需要执行的jquery代码
      //$(document).ready(function(){}的作用是防止文档未加载完全就运行jquer代码,它是jquery的入口函数
    })
  注意:
    通过jquery入口函数不能拿到DOM元素的宽高
    多个jquery入口函数并不会发生覆盖现象

3.jquery选择器

1.元素选择器

   jQuery 使用 CSS 选择器来选取 HTML 元素。
        $("#intro")    id="intro" 的元素
        $(".intro")    所有 class="intro" 的元素
        $(this)    当前 HTML 元素
        $("p") 选取 <p> 元素。
        $("p.intro") 选取所有 class="intro"<p> 元素。
        $("p#demo") 选取所有 id="demo"<p> 元素。
        $("ul li:first")    每个 <ul> 的第一个 <li> 元素
        ...

2.属性选择器

jQuery 使用 XPath 表达式来选择带有给定属性的元素。
    $("[href]") 选取所有带有 href 属性的元素。
    $("[href='#']") 选取所有带有 href 值等于 "#" 的元素。
    $("[href!='#']") 选取所有带有 href 值不等于 "#" 的元素。
    $("[href$='.jpg']") 选取所有 href 值以 ".jpg" 结尾的元素。
    ...

3.CSS 选择器

jQuery CSS 选择器可用于改变 HTML 元素的 CSS 属性。
    $("p").css("background-color","red"); //p元素内容的背景颜色变为红色
    ...

3.5 jQuery中的数据类型判断

 语法: $.type(obj)
    例如: 
          $.type($('div'));//object

4.入口函数的多种写法

(1)方法一:
      $(document).ready(function(){
        ...
      })
  (2)方法二:
      jQuery(document).ready(function(){
        ...
      })
  (3)方法三:(推荐使用)
      $(function(){
        ...
      })
  (4)方法四:
      jQuery(function(){
        ...
      })

5.解决jquery中使用的 $ 符号与其他语言的$符号发生冲突问题

方法一:释放 $ 符号使用权,即不再使用 $符号作为jquery的声明符号
    在jquery入口函数之前通过 JQuery.noConflict() 方法释放 $ 符号,让jquery的声明都变为JQuery
    如:
        jQuery.noConflict();
        jQuery(function(){
          ...执行代码
        })
方法二:自定义jquery声明符号(推荐使用)
        const JQ=jQuery.noConflict();
        JQ(function(){
          ...执行代码
        })

6.静态方法和实例方法

(1)直接添加给类的就是静态方法
(2)静态方法通过类名调用
(3)实例方法添加在prototype上
(4)实例方法的调用通过类的实例对象来调用该实例方法

7.jquery中的each方法

each方法用于遍历数组
语法:$.each(arr,function(index,value){...});
      arr:需要遍历的数组
      index:遍历值的下标(必须是参数1的位置)
      value:遍历到的值(必须是参数2的位置)
例如:
    let arr=[1,3,2,7,5];
    $.each(arr,function(index,value){
      console.log(index,value);
      //0,1
      //1,3
      //2,2
      //3,7
      //4,5
    })

8.jquery中的map方法,使用map方法可以对数组进行加工处理

用于遍历数组
语法:$.map(arrName,function(value,index,arr){...})

9.jquery中的其他方法

(1)$.trim(str):用于去除字符串两边的空格,str表示需要加工的字符串.该方法返回值是一个新的处理后的字符串.不会影响原字符串.
(2)$.isWindow(obj):用于判断对象是否是window对象,返回值是一个布尔值。
(3)$.isArray(obj):用于判断传入的对象是否是数组类型,返回值是一个布尔值
(4)$.isFunction(obj):判断传入的对象是否是一个函数,返回值是一个布尔值,jQuery本质是一个函数
(5)$.holdReady(布尔值):用于暂停jquery入口函数的执行,当为true表示赞停,当为false表示继续执行

10.jquery中选择器的伪元素

(1):empty 作用:找到所有既没有文本内容也没有子元素的指定元素
    如: $('div:empty') //找到所以空的div元素

(2):parent 作用:找到所有拥有文本内容或子元素的指定元素
    如: $('div:parent') //找到所有含有文本内容或子元素的div标签

(3):contains(text) 作用:找到所有含有指定文本的指定元素
    如: $("div:contains('哈哈')") //找到所有含有内容 哈哈 的div元素

(4)has(selector) 作用:找到所有含有指定元素的指定元素
    如: $("div:has('p')") //找到所有含有p元素的div元素

11.jquery中的属性操作方法

    1.attr(name|pro|key,val|fn)
        作用:获取或设置属性节点的值.
          语法: obj.attr(name|pro|key,val|fn)
            当只传递一个参数时,则表示获取属性节点的值
            当传递的是两个参数时,则表示设置属性节点的值
        注意:
            (1)当使用获取属性时,该方法永远只返回查询到的第一个元素的属性值.
            (2)当使用设置属性时,该方法会为查询到的所有元素设置相同的属性值.
            (3)当使用设置属性时,若属性不存在,则会自动创建该属性。
        例如:
          //获取属性值
              $('h1').attr('name');//获取第一个h1元素的name属性值
          //设置属性值
              $('div').attr('class','box');//设置所有div元素的class属性值为box
    2.removeAttr(name)
        作用:删除指定元素的单个或多个指定属性
           语法: obj.removeAttr('属性名1 属性名2 ...')
        注意:
            (1)该方法会删除所有指定元素的指定属性
    3.prop(name|pro|key,val|fn)
        作用:获取或设置属性节点的值.
          语法: obj.attr(name|pro|key,val|fn)
            当只传递一个参数时,则表示获取属性节点的值
            当传递的是两个参数时,则表示设置属性节点的值
        注意:
            (1)当使用获取属性时,该方法永远只返回查询到的第一个元素的属性值.
            (2)当使用设置属性时,该方法会为查询到的所有元素设置相同的属性值.
            (3)当使用设置属性时,若属性不存在,则会自动创建该属性。
        例如:
          //获取属性值
              $('h1').prop('name');//获取第一个h1元素的name属性值
          //设置属性值
              $('div').prop('class','box');//设置所有div元素的class属性值为box
    4.removeProp(name)
        作用:删除指定元素的单个或多个指定属性
           语法: obj.removeProp('属性名1 属性名2 ...')
        注意:
            (1)该方法会删除所有指定元素的指定属性
  	attr与prop的区别:
      两种方法都能够对指定元素的属性进行获取或设置操作,
      但是prop能够操作属性节点,
      prop方法能够获取属性值为布尔值的属性的状态,:checked、selected、disabled、...属性,
      若存在该checked、selected、disabled、...属性,则prop方法的返回值为true,不存在则返回值为false.
      若存在该checked、selected、disabled、...属性,则attr方法的返回值为该属性本身,若不存在则返回值为undefine.

12.jQuery中操作类属性的方法

 (1)addClass方法
        作用:添加一个或多个类属性值
        语法: obj.addClass('className1 className2 ...');
    (2)removeClass方法
        作用:删除一个或多个类属性值
        语法:obj.removeClass('className1 className2 ...');
    (3)toggleClass方法
        作用:切换类属性值(有就进行删除操作,没有就进行添加操作)
        语法:obj.toggleClass('className1 className2 ...)

13.jQuery中文本值操作方法

 (1)html方法
        作用:设置或获取指定元素的内容(和原生innerHTML相同)
              语法:
                  设置: obj.html('内容')
                  获取:obj.html()

    (2)text方法
        作用:设置或获取指定元素的纯文本内容(和原生innerText相同)
              语法:
                  设置:obj.text('内容')
                  获取:obj.text()
    (3)val方法
        作用:获取或设置表单标签的值
            语法:
                设置: obj.val('内容')
                获取:obj.val()

14.jQuery中样式操作方法

(1)逐个设置样式css
    语法: obj.css('样式名','样式值');
(2)批量设置样式css
    语法: obj.css({样式名1:'样式值',样式名2:'样式值',...})
(3)获取样式css值
    语法: obj.css('样式名')

15.JQuery事件

 事件绑定方法:(推荐使用on方法)
        (1)eventName(callbakc())
            语法: obj.事件名(function(){...事件执行方法}): $('button').click(function(){
                  alert('Hello ')
                })
        
        (2)on(eventName,callback())
             语法: obj.on('事件名',function(){...事件执行方法}): $('button').on('click',function(){
                  alert('On方法')
                })
    事件解除方法:
        (1)off(arg1,arg2,...)
            语法: obj.off(|arg|arg1,arg2,...)
                当不出入参数时,默认解除指定对象的所有事件
                当传入参数时,解除指定对象的指定事件
                  如: $('button').off();//解除button按钮的所有事件
                      $('button').off('click');//解除button按钮的click事件
                      $('button').off('click','mouseenter');//解除button按钮的click与mosueenter事件。

16.jquery中的事件冒泡与默认行为

(1)阻止事件冒泡
    方法:在回调函数中声明
        return false;
        或 event.stopPropagation();//事件对象调用方法
(2)阻止默认行为
    方法在事件回调函数中声明
        return false;
        或 event.preventDefault();//事件对象调用方法

17.事件自动触发器

 (1)trigger方法,用于自动触发事件。
        语法: obj.trigger(eventName);
          例如:
              $('button').trigger('click');//自动触发button的click事件
    (2)triggerHandler(eventName)方法,也用于自动触发事件。
        语法: obj.triggerHandler(eventName)
          例如:
              $('button').triggerHandler('click);//自动触发button的click事件
  两者区别:
      使用trigger自动触发器会触发冒泡事件,而triggerHandler不会触发冒泡事件。
      使用trigger自动触发器会触发默认行为,而triggerHandler不会触发默认行为。

18.自定义事件的设置

 1.通过on方法设置一个自定义事件
    2.通过trigger方法触发自定义事件
        obj.on('自定义事件名',自定义事件执行方法);
        obj.trigger('自定义事件名')

19.事件委托

事件委托就是利用冒泡的原理,把事件加到父级上,通过判断事件来源的子集,执行相应的操作,事件委托首先可以极大减少事件绑定次数,提高性能;其次可以让新加入的子元素也可以拥有相同的操作。
delegate() 方法为指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数
    通过delegate()方法我们可以为指定元素的资源添加一个或多个事件处理程序,并规定事件的执行方法
        语法: 指定元素(父元素).delegate('指定子元素','执行的事件名',function(){...事件执行的方法}):为ul标签中的li标签绑定click事件
                $('ul').delegate('li', 'click', function() {
                  $(this).css({background:'red'});
              });

20.移入移出事件

 (1)监听移入事件
        语法: 1.obj.mouseover(function(){...执行方法});此方法存在冒泡事件行为,因此推荐使用mouseenter方法
              或 
              2.obj.mouseenter(function(){...执行方法});(推荐使用)

 (2)监听移出事件
        语法: 1.obj.mouseout(function(){...执行方法})2.obj.mouseleave(function(){...执行方法});(推荐使用)

 (3)同时监听移入移出事件
        语法: obj.hover(function(){...移入事件执行方法},function(){...移出事件执行方法})

21.jQuery中的过滤

(1)first()方法,返回被选元素的首个元素。
    语法: obj.first(); //返回指定元素的第一个元素
    例如:  
        $('div p').first();//返回首个div元素中的第一个p元素
        $('div').first();//返回第一个div元素
(2)last()方法,返回指定元素的最后一个元素
    语法:   obj.last();//返回指定元素的最后一个元素
    例如:
        $("div").last();//返回最后一个div元素
        $("div p").last();//返回最后一个div中的最后一个p元素
(3)eq(index)方法,返回指定元素中指定索引号的元素
    语法: obj.eq(index);//返回所有指定元素中指定索引号的指定元素
    例如:  
        $('p').eq(2);//返回所有p元素中索引值为2的p元素
(4)filter()方法,返回符合要求的所有指定元素.
    语法: obj.filter(fn|object)
    例如:
          $("p").filter(".hah");//返回所有含有 class属性为hah 的p元素.
(5)not()方法,返回所有不符合要求的指定元素
    语法: obj.no(fn|object)
    例如:
        $('p').not('#txt');//返回所有 无 id属性为txt 的p元素

22.jQuery中的隐藏与显示动画

(1)隐藏动画hide()方法,该方法能够隐藏对象
    语法: obj.hide(time,callback
          time:可选参数,规定隐藏动画的过渡时间,单位为毫秒1s=1000ms
          callback:可选参数,回调函数,在动画执行完毕在之后进行的回调内容
    例如:
        $("div").hide(1000,function(){
          alert('隐藏动画执行完毕')
        });
(2)显示动画show()方法,该方法用于显示隐藏的对象
    语法: obj.show(time,callback)
          time:可选参数,规定显示动画的过渡时间,单位为毫秒1s=1000ms
          callback:可选参数,回调函数,在动画执行完毕在之后进行的回调内容
    例如:
      $("div").show(1000)
(3)显示与隐藏切换toggle()方法,进行显示与隐藏之间的轮流切换
    语法: obj.toggle(time,callback);
          time:可选参数,规定显示动画的过渡时间,单位为毫秒1s=1000ms
          callback:可选参数,回调函数,在动画执行完毕在之后进行的回调内容
    例如:
        $("div").toggle(1000)

23.监听滚动条事件

 语法:
     obj.scroll(data,fn)
          data:可选参数,可作为数据传递给回调函数fn进行处理
          fn:回调函数,监听滚动条事件执行的回调函数.
    例如:
        //监听页面滚动条事件
        $("window").scroll(function(){
          ...
        })

        //监听div滚动条事件,对元素滚动的次数进行计数:
        $("div").scroll(function() {
          $("span").text(x+=1);
        });

24.jQuery中的获取 位置事件

    (1)event.pageX方法,鼠标相对于文档的左边缘的位置。
          event:事件对象
          pageX:方法名
      例如:
          $("div").on("click",function(event){
            let left=event.pageX;
          })
    (2)event.pageY方法,鼠标相对于页面顶部的位置
          event:事件对象
          pageX:方法名
      例如:
          $("div").on("click",function(event){
            let left=event.pageY;
          })
    (3)offset()方法,获取指定元素相对于当前页面的相对偏移位置.返回的对象包含两个整型属性:top 和 left,以像素计。此方法只对可见元素有效。
          注意:该方法获取到的偏移位置包含有padding和margin
          语法: obj.offset();
          例如:
                let offset=$("div").offset()
                left=offset.left
                top=offset.top
    (4)scrollTop()方法,获取或设置指定元素相对于滚动条顶部的偏移位置
          获取语法: obj.scrollTop()
          设置语法: obj.scrollTop(num) //必须存在滚动条才能够设置
    (5)scrollLeft()方法,获取或设置指定元素相对于滚动条左边的偏移位置
          获取语法: obj.scrollLeft()
          设置语法: obj.scrollLeft(num) //必须存在滚动条才能够设置
    (6)position()方法,获取指定元素相对于父元素的偏移。返回的对象包含两个整型属性:top 和 left。为精确计算结果,请在补白、边框和填充属性上使用像素单位。此方法只对可见元素有效。
          语法: obj.position();
          例如:
               let offset=$("div").position()
                left=offset.left
                top=offset.top

25.jQUery中的展开与折叠

1)折叠
    语法: obj.slideUp(time,fn)
            time:可选参数,规定折叠所花费的时间.单位ms,1s=1000ms
            fn:可选参数,规定动画执行完毕后的回调函数
    例如:
          $("div").slideUp(1000,function(){
            alert("div已经折叠");
          })
(2)展开
    语法: obj.slideDown(time,fn)
            time:可选参数,规定展开所花费的时间.单位ms,1s=1000ms
            fn:可选参数,规定动画执行完毕后的回调函数
    例如:
          $("div").slideDown(1000,function(){
            alert("div已经展开");
          })
(3)展开与折叠轮切换
    语法:obj.slideToggle(time,fn)
            time:可选参数,规定轮切所花费的时间.单位ms,1s=1000ms
            fn:可选参数,规定动画执行完毕后的回调函数
    例如:
          $("div").slideToggle(1000,function(){
            alert("div轮切");
          })

26.jQuery中的淡入与淡出

 (1)淡入
          语法:obj.fadeIn(time,fn)
                  time:可选参数,规定淡入所花费的时间.单位ms,1s=1000ms
                  fn:可选参数,规定动画执行完毕后的回调函数
        例如:
              $("div").fadeIn(1000,function(){
                alert("div淡入");
              })
    (2)淡出
          语法: obj.fadeOut(time,fn)
                  time:可选参数,规定淡出所花费的时间.单位ms,1s=1000ms
                  fn:可选参数,规定动画执行完毕后的回调函数
        例如:
              $("div").fadeOut(1000,function(){
                alert("div淡出");
              })
    (3)淡入淡出轮切
          语法: obj.fadeToggle(time,fn)
                  time:可选参数,规定淡出淡入所花费的时间.单位ms,1s=1000ms
                  fn:可选参数,规定动画执行完毕后的回调函数
        例如:
              $("div").fadeToggle(1000,function(){
                alert("div淡入淡出轮切");
              })

27.自定义动画

animate() 方法用于创建自定义动画。
  语法:
      obj.animate({params},speed,callback);
            params:必需,规定定义形成动画的 CSS 属性。
            speed:可选参数,规定动画效果的时长。它可以取以下值:"slow""fast" 或毫秒。
            callback:可选参数,规定动画完成后所执行的函数名称。
  例如:
      $("div").animate({width:'200px',height:'100px'},1000,function(){
        alert("动画执行完毕")
      })

28.动画停止与延时

 (1)动画停止
          stop()方法,stop() 会清除在被选元素上指定的当前动画。
              语法:obj.stop(stopAll,goToEnd);
                      stopAll 可选参数,规定是否应该清除动画队列。默认是 false,即仅停止活动的动画,允许任何排入队列的动画向后执行。
                      goToEnd 可选参数,规定是否立即完成当前动画。默认是 false。
              例如:
                  $("div").stop()
 (2)延时运行队列
          delay()方法,设置一个延时来推迟执行队列中之后的项目。
              语法: delay(time)
                        time:必须,规定进行延时的时间,单位为毫秒。1s=1000ms

29.jQuery中的增、删、改、查

    (1)节点增加
        语法: obj.prepend(content),向指定元素的子元素顶部添加内容。
                  content:需要添加的内容
              obj.append(content),向指定元素的子元素尾部添加内容。
                  content:需要添加的内容
        例如:
              $("div").append("<P>我是添加在尾部的元素内容</P>");
    (2)节点删除
        1.语法: obj.empty(),删除指定元素的所有子元素内容
        例如: 
              $("div").empty();//删除div元素的所有子元素

        2.语法: obj.remove(),删除指定元素及其子元素
        例如:
              $("div>p").eq(1).remove();//删除div元素所有子元素p中下角标为1的p元素
    (3)节点替换()
        1.语法:obj.replaceWith(content),将指定元素及其内容全部替换(推荐使用)
              content:新的内容
        例如:
              $("p").eq(1).replaceWith("<i>替换内容</i>")
        
        2.语法:obj.replaceAll(),把被选元素替换为新的 HTML 元素。
        例如:
            $("<span>Hello world!</span>").replaceAll("p:last");//把最后一个 <p> 元素替换为 <span> 元素
    (4)复制节点
      clone() 方法生成指定元素的副本,包含子节点、文本和属性。
        1.浅复制节点,即不会将指定元素的事件处理函数一起复制
            语法: obj.clone(false);
        2.深复制节点,即复制时会将事件处理函数一起复制
            语法: obj.clone(true)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值