jQuery选择器

jQuery(selector,context)

  • selector:选择器的类型(一般都是字符串,但是支持函数或者元素对象)

  • context:基于选择器获取元素时候指定的上下文(默认document)

jQuery常用方法

  • appendTo:把jQuery对象添加到一个HTML元素中

  • each:遍历(数组、对象、类数组)

  • noConflict:转让JQ使用$的权利

    let zzz = jQuery.noConflict(true);//=>深度转让:把jQuery这个名字也让出去,返回结果赋值给一个变量,此时这个变量是新的JQ代言人
    
  • filter:同级筛选

  • children:子级筛选

  • find:后代筛选

  • next/nextAll:弟级筛选

  • parent/parents:获得父亲元素/获得所有父级(前代)元素

  • siblings:获得所有兄弟元素

  • get(i):获得第i项的原生JS对象,不传参数是把jQuery对象转为数组返回

  • attr(m,n):获取/设置自定义属性值

  • $().offset():获取当前元素距离body的偏移量

  • $().remove():在html中删除元素(该jquery对象的值并没有改变)

jQuery中的ajax

//=>$.ajax([URL],[OPTIONS]) 或者 $.ajax([OPTIONS]) 在OPTIONS中有一个URL字段代表请求的URL地址
    //=>$.get / $.post / $.getJSON / $.getScript 这些方法都是基于$.ajax构建出来的快捷方法,项目中最常使用的还是$.ajax
    /*
     * URL:请求的API接口地址
     * METHOD:请求的方式
     *
     * DATA:传递给服务器的信息可以放到DATA中
     *   如果是GET请求是基于问号传参传递过去的
     *   如果是POST请求是基于请求主体传递过去的
     *
     *   DATA的值可以是对象也可以是字符串(一般常用对象)
     *     如果是对象类型,JQ会把对象转换为 xxx=xxx&xxx=xxx 的模式(x-www-form-urlencoded)
     *     如果是字符串,我们写的是什么就传递什么
     *
     * DATA-TYPE:预设置获取结果的数据格式 TEXT/JSON/JSONP/HTML/SCRIPT/XML...(服务器返回给客户端的响应主体中的内容一般都是字符串[JSON格式居多]),而设置DATA-TYPE='JSON',JQ会内部把获取的字符串转为JSON格式的对象 =>“他不会影响服务返回的结果,只是把返回的结果进行了二次处理”
     *
     * ASYNC:设置同步或者异步(TRUE->异步 FALSE->同步)
     * CACHE:设置GET请求下是否建立缓存(默认TRUE->建立缓存 FALSE->不建立缓存),当我们设置FALSE,并且当前请求是GET请求,JQ会在请求的URL地址末尾追加随机数(时间辍)
     *
     * SUCCESS:回调函数,当AJAX请求成功执行,JQ执行回调函数的时候会把从响应主体中获取的结果(可能二次处理了)当做参数传递给回调函数
     * ERROR:请求失败后执行的回调函数
     */
    $.ajax({
        url: 'https://www.easy-mock.com/mock/5b0412beda8a195fb0978627/temp/list',
        method: 'GET',
        data: {
            name: 'xxx',
            age: 28
        },
        dataType: 'json',
        async: true,
        cache: false,
        success: (result, textStatus, xhr) => {
            //=>RESULT就是从服务器获取的结果
            console.log(result);
            console.log(textStatus);
            console.log(xhr.getResponseHeader('date'));//=>jqXHR
        },
        error: () => {

        }
    });

jQuery动画

animate:

//=>stop:结束正在运行的动画
//=>finish:结束动画,让元素立即运动到目标位置
$box.stop().animate({
    top: 300,
    left: 500
}, 500, () => {
    /*动画结束后执行的回调函数*/
    $box.css({
        borderRadius: '50%',
        background: 'lightblue'
    });
});

快捷动画:

  • show/hide/toggle
  • fadeIn/fadeOut/fadeToggle
  • slideDown/slideUp/slideToggle
    可以指定具体运动时间,也可以指定'slow' / 'fast'

jquery中的事件绑定

  • on / off:基于DOM2事件绑定实现事件的绑定和移除(兼容了所有的浏览器)
  • one:只绑定一次,第一次执行完成后,会把绑定的方法移除(基于ON/OFF完成的)
  • click / mouseover / mouseout ...:JQ提供快捷绑定方法,但是这些方法最后都是基于ON/OFF完成的
  • delegate:事件委托方法(1.7版本以前用的是live方法)
  • bind / unbind:正常绑定