jquery

作者: jasmine_6aa1 | 来源:发表于2020-07-13 21:34 被阅读0次

    1,jquery 定义

    jquery 是一个快速,小巧且功能丰富的JavaScript库,可以跨多种浏览器工作,
    本质:就是封装了很多方法的 js 库

    2,如何使用 jquery

    1, 第一步引入
    2,写入口函数(防止页面标签还没有被渲染出来,入口函数就已经执行了)- 请看下面入口函数详情
    3,找到要操作元素(jquery 选择器),去操作他(给他设置属性,样式,文本等等)
      $(document).ready(function(){
           $('div').width(100).height(100).css('color','red').text('我是输出的文本') 
       })
    

    3,jquery 版本介绍

    1,1.xx  版本1. 多是  支持老浏览器,比如 IE678, 已停止更新
    2,2.xx  版本2. 多是  不支持老浏览器, 已停止更新
    3,3.xx  版本3. 多是  不支持老浏览器,更新中
    

    4,jquery 的入口函数

    1,jquery 的入口函数两种书写方式

    // 第一种
      $(document).ready(function(){
           
       })
    
    // 第二种  更常用
    $(function(){
           
     })
    

    2,jquery 与 原生 js 的入口函数区别

    1,原生 js 入口函数不能写多个,但是 jquery 可以写多个
    2,原生 js 入口函数执行在后,jquery 入口函数执行在前
       * 原生 js 要等待页面上所有的资源(dom树,外部css,js链接等)都加载完毕后,执行
       * jquery 等待页面上 dom 树加载完毕后执行
    

    5,$ 解释

    1,$ 是一个自执行函数

    1,引入一个js文件,是会执行js文件中的代码
    2,jquery 文件是一个自执行函数,执行还这个jquery文件中的代码,其实就是执行这个自执行函数
    3,这个自执行文件就是给window对象添加一个 jquery 属性和 $ 属性
    4,$ = jquery,是等价的,是一个函数
    

    2,$ 是一个函数,参数不同,效果不同

    1,参数是一个匿名函数 — 入口函数
       $(function(){
        })
    2,参数是一个字符串 — 选择器
        $(‘# divOne’)
    3,参数是一个标签 —— 创建一个标签
        $(‘<div>我是创建的标签</div>’)
    4,参数是一个 dom 对象 — 就会把dom对象转换成 jquery 对象(详情请看下面 5)  
    

    6,dom 对象与jquery对象区别

    1,区别

    * dom 对象:原生js选择器获取到的对象,只能调用dom方法,
    * jquery对象:用jquery选择器获取的对象,只能用jquery对象的属性和方法
    

    jquery对象是一个伪数组(有下标,有length);jquery对象其实就是dom对象的一个包装集
    2,案例

    // js - dom
    var idValue = document.getElementById('idValue')
    idValue.style.width = '600px'
    
    // jquery
     $('idValue').css('width','600px')
    

    3,互相转换
    a,dom对象转换成 jquery 对象

    var idValue = document.getElementById('idValue')
    var $idValue = $(idValue) // 转换成了jquery对象
    

    b, jquery 对象转换成 dom对象

    var $divs = $('div')
    
    方法一:使用下标取出来
    var div1 = $divs[0] // jquery 对象转换成 dom对象
    
    方法二:使用jquery的方法,get()
    var div2 = $divs.get(1) // 转换成功
    

    7,jquery 选择器

    1,基本选择器

    ID 选择器 :  $('#id')            获取指定id的元素
    类选择器:    $('.class')         获取同一类class的元素
    标签选择器:  $('div')            获取同一类标签的所有div
    并集选择器:  $('div,p,li')       使用逗号分隔,只要符合条件之一就可
    交集选择器:  $('div.redClass')   获取class为redClass的div元素
    

    注:跟class选择器用法一样
    2,层次选择器

    自带选择器  $('ul > li') 使用 大于号,获取儿子层级的元素,注意,并不会获取子孙层级的元素
    后代选择器  $('ul li')   使用空格,代表后代选择器,获取ul下所有li元素,包括子孙等
    

    `注:这里不可以使用并集选择器,可以直接改为

    $('ul > li, ul > p') // 获取ul下面所有的li标签,与ul下面是所有p标签
    $('ul > li, p') // 获取ul下面所有的li标签,与页面中所有的p标签
    $('#divValue div') // 获取id为divValue 这个div所有的后代div
    

    3,过滤选择器
    这类选择器都带冒号

    :eq(index)  $('li > :eq(2)').css('color','red')  获取到的li元素中,选择索引值为2的元素,颜色变为红色;index是索引值
    :odd    $('div:odd').css('color','red') // 设置所有div为奇数行的字体颜色为红色
    :even   $('div:even').css('color','red') // 设置所有div为偶数行的字体颜色为红色
    

    8,jquery 其他选择器

    children(selector)   $('ul').children('li')  相当于$('ul-li'),子类选择器
    find(selector)       $('ul').find('li')      相当于$('ul li'),后代选择器
    siblings(selector)   $('#first').siblings('li')      查找兄弟节点,不包括自身
    parent(selector)     $('#first').parent('li')      查找父亲
    eq(selector)         $('li').eq(2)    找到li中索引值为2的对象
    next(selector)       $('li').next()    找下一个兄弟节点
    prev(selector)       $('li').prev()    找上一个兄弟节点
    

    9,jquery 方法

    1,增

    1,append() - 在被选元素的结尾插入内容

    $("p").append("追加文本")
    

    2,prepend() - 在被选元素的开头插入内容

    $("p").prepend("在开头追加文本");
    

    3,after() - 在被选元素之后插入内容

    $("img").after("在后面添加文本");
    

    4,before() - 在被选元素之前插入内容

    $("img").before("在前面添加文本");
    
    2,删

    1,remove() - 删除被选元素(及其子元素)

    $("#div1").remove();
    

    2,empty() - 从被选元素中删除子元素

    $("#div1").empty();
    

    注:remove(value) : 删除你选择的元素;value是你要删除的class名

    $("p").remove(".italic");
    
    3,改

    1,text(value):设置文本内容;value 是设置的文本值

      $(function(){
        $('idValue').click(function(){
          // 会覆盖原来的内容,如果设置的文本中有标签,不会解析出来
            $('div1').text(‘我是新设置的文本’) 
        })
      })
    

    2,html( value ):设置文本的内容;value是要设置的值

    $("#test2").html("<b>Hello world!</b>")
    

    3,val(value):设置文本value值;value是要设置的文本值

    $("#test3").val("RUNOOB")
    

    4,attr(value):设置文本的属性值;value是要设置的属性值

    $("#runoob").attr("href","http://www.baidu.com");
    

    5,css(name,value):获取样式,name 是你要样式的准确名,value 是要设置的样式名的值
    设置样式是行内标签

    // 设置单样式
     $('div1').css('width','400px')  // 设置样式
    
    // 设置多样式
     $('div1').css({  // 设置样式
        'width','400px',
         height: 100, // 这种方式也是可以实现的
         'border','1px red solid'
    })
    

    6,addClass() :给jquery对象增加类

     $("body div:first").addClass("important blue");
    

    7,removeClass() :给jquery对象删除类

     $("body div:first").removeClass("important");
    

    8,toggleClass():给元素进行添加/删除类的切换操作

     $("body div:first").toggleClass("blue");
    

    9,隐式迭代(只要返回是一个数组集合,此数组有这个方法,就可以继续执行)

    $(this).text(wjx_sel).prevAll().text().nextAll().text();// 一旦返回的不是一个数组,就会终止此方法运行
    
    4,查

    1,text():获取文本内容(传空值)

      $(function(){
        $('idValue').click(function(){
            $('div1').text() // 会获取到这个标签中所有的文本,包括后代元素的文本
        })
      })
    

    2,html():获取文本内容

    $("#test").html(); // 注:当获取文本中值,里面代码不会编译
    

    3,css(name):获取样式,name 是你要样式的准确名
    注:获取包含多个dom元素的jquery对象的样式,只能获取到第一个dom对象的样式

     $('div1').css('width')  // 获取样式
    

    4,attr():获取元素属性

    <div href="//www.baidu.com" name="zhansui" id="runoob">百度一下</div>
    
    $("#runoob").attr("href") 
    

    5,val():获取表单的字段值

    $("#test").val()
    

    9,jquery 其他方法

    1,设置宽高方法

    1,width() :设置或返回元素的宽度(不包括内边距、边框或外边距)
    2,height():设置或返回元素的高度(不包括内边距、边框或外边距)
    3,innerWidth(): 返回元素的宽度(包括内边距)。
    4,innerHeight():返回元素的高度(包括内边距)。
    5,outerWidth():返回元素的宽度(包括内边距和边框)。
    6,outerHeight():返回元素的高度(包括内边距和边框)。


    img_jquerydim.gif
    2,遍历,向上迭代

    1,parent():被选元素的直接父元素

     $("span").parent(); // 获取到了,可以对其进行操作
    

    2,parents():被选元素的所有父元素

     $("span").parents()
    

    3,parentsUntil():返回介于两个给定元素之间的所有祖先元素。

     $("span").parentsUntil("div"); // 返回 span 与 div 之间层级中所有的父级元素
    
    3,遍历,向下迭代

    1,children():返回被选元素的所有直接子元素。

     $("div").children();
    

    children()也可以使用可选参数来过滤对子元素的搜索。

     $("div").children("p.pValue"); // 返回类名为 "pValue" 的所有 <p> 元素,并且它们是 <div> 的直接子元素
    

    2,find():被选元素的后代元素,一路向下直到最后一个后代

      $("div").find("span"); // 返回所有所选择元素的后代span元素
    

    注:

    $("div").find("*"); // 返回所有的div后代元素,部分标签
    
    4,遍历,同胞元素

    1,siblings():被选元素的所有同胞元素。

    $("h2").siblings(); // 返回 h2 标签的所有同胞元素
    

    2,next():被选元素的下一个同胞元素

    $("h2").next(); // 返回被选元素的下一个同级元素
    

    3,nextAll():

    $("h2").nextAll(); // 返回被选元素的所有跟随的同级元素
    

    4,nextUntil():返回介于两个给定参数之间的所有跟随的同胞元素

    $("h2").nextUntil("h6"); // 返回介于h2 与 h6 之间的所有同胞元素
    
    5,遍历,过滤

    1,first():返回被选元素的首个元素

    $("div p").first(); // 返回选取首个 <div> 元素内部的第一个 <p> 元素:
    

    2,last():返回被选元素的最后一个元素。

    $("div p").last() // 返回选择最后一个 <div> 元素中的最后一个 <p> 元素:
    

    3,eq():返回被选元素中带有指定索引号的元素

    $("p").eq(1); // 返回第一个p标签元素
    

    4,filter():不匹配这个标准的元素会被从集合中删除,匹配的元素会被返回。

    $("p").filter(".url"); // 所有p标签中,没有class为 url 的类,都会被删除
    

    5,not():返回不匹配标准的所有元素

    $("p").not(".url"); // 返回所有p标签中,没有url类的标签
    

    10,jquery 常用的方法

    1,show():隐藏被选元素

    $("p").show(); // 被选中元素显示
    

    2,hide():隐藏被选元素

    $("p").hide(); // 被选中元素隐藏
    

    3,toggle():hide() 和 show() 方法之间的切换

    $("p").toggle();  // 被选中元素在显示与隐藏中切换
    

    4,fadeIn():逐渐改变被选元素的不透明度,从隐藏到可见

     $("p").fadeIn();  // 被选中元素p淡入效果
    

    5,fadeOut():逐渐改变被选元素的不透明度,从可见到隐藏

     $("p").fadeOut();   // 被选中元素p淡出效果
    

    6,fadeToggle():在 fadeIn() 和 fadeOut() 方法之间进行切换

     $("p").fadeToggle();   // 被选中元素p在淡入效果与淡出效果中切换
    

    7,slideUp():通过调整高度来滑动隐藏被选元素

    $("p").slideUp(); // 以向上滑动方式隐藏所有的 <p> 标签
    

    8,slideDown():通过调整高度来滑动显示被选元素

    $("p").slideDown(); // 以向下滑动方式显示所有的隐藏 <p> 标签
    

    9,slideToggle():slideUp() 和 slideDown() 方法之间的切换

    $("p").slideToggle(); // 以向上向下滑动方式显示隐藏所有的 <p> 标签
    

    11,jquery Ajax

    1,load():从服务器加载数据,并把返回的数据放入被选元素中。

    $("#div1").load("demo_test");// 把获取到文件中的数据返回到id为div1的标签中
    
    $("#div1").load("demo_test.txt #p1");// 把获取到文件中id为p的数据返回到id为div1的标签中
    

    注:onload()函数可以支持回调

    • responseTxt - 包含调用成功时的结果内容
    • statusTXT - 包含调用的状态
    • xhr - 包含 XMLHttpRequest 对象
    $("button").click(function({
    $("#div1").load("demo_test.txt",function(
      responseTxt,statusTxt,xhr){
        if(statusTxt=="success")
          alert("外部内容加载成功!");
        if(statusTxt=="error")
          alert("Error: "+xhr.status+": "+xhr.statusText);
      });
    });
    

    相关文章

      网友评论

          本文标题:jquery

          本文链接:https://www.haomeiwen.com/subject/hvsvcktx.html