jquery基本使用详解

时间:2021-08-10 16:57:52   收藏:0   阅读:23

优点

选择机制

选择器

  1. 标签名

    $(‘div‘)

  2. id

    $(‘#id‘)

  3. class

    $(‘.clname‘)

  4. 属性

    $(‘div:[name=‘66‘]‘)

  5. 后代第一个

    $(‘ul>li:first‘)

  6. 后代最后一个

    $(‘ul>li:last‘)

  7. css结构为类

    $(‘ul>li:nth-child(2)‘)

  8. css 结构为类奇数

    $(ul>li:nth-child(odd))

  9. 索引

    $(‘ul>li‘).eq(2)

  10. 偶数

    $(‘ul>li:even‘)

筛选器

名称 写法
第一个 $(‘ul>li‘).first()
最后一个 $(‘ul>li‘).last()
下标索引 $(‘ul>li‘).eq(num)
上一个兄弟 $(‘ul>li‘).eq(num).prev()
下一个兄弟 $(‘ul>li‘).eq(num).next()
之前所有 $(‘ul>li‘).eq(num).prevAll()
之后所有 $(‘ul>li‘).eq(num).nextAll()
所有兄弟 $(‘ul>li‘).silnlings()
父级 $(‘ul>li‘).parent()
所有父级 $(‘ul>li‘).parents()
当前索引下标 $(‘ul>li‘).eq(2).index()
查看符合条件的标签 $(‘ul>li‘).find(‘条件‘)

操作

属性操作

  1. bool类型: prop()
  2. 其他类型: attr()
操作 prop attr
删除 dom.removeProp(‘属性‘) dom.removeAttr(‘属性‘)
获取 dom.prop(‘属性‘) dom.attr(‘属性‘)
添加 dom.prop(‘属性‘,‘值‘) dom.attr(‘属性‘,‘值‘)

class操作

  1. 新增

    dom.addClass(‘name‘)

  2. 删除

    dom.removeClass(‘name‘)

  3. 切换(有或没有)

    dom.toggleClass(‘name‘)

  4. 是否存在

    dom.hasClass(‘name‘)

css操作

标签插入内容操作

事件

事件绑定与删除

委托

dom.on(类型,委托对象,函数)

dom.on(‘click‘, ‘span‘, e=>{})

特殊事件绑定

  1. dom.click(函数)
  2. dom.hover(函数,函数)
    移入移除效果
  3. dom.one(函数)
    触发一次
  4. dom.trigger(事件名称)
    立即触发一次
  5. $(window).ready()
    • DOM加载完成后
    • 等待dom树加载完即可
    • 可以执行有多次

循环

dom.each((k,v)=>{})

节点操作

获取元素站位

名称 写法
内容宽/高 dom.width() / dom.height()
内容+padding dom.innerWidth() / dom.innerHeight()
内容+padding+border dom.outerWidth() / dom.outerHeight()
内容+padding+margin dom.outerWidth(true) / dom.outerHeight(true)

获取元素坐标

浏览器滚动

$(window).scrollTop()

$(window).scrollLeft()

节点操作

  1. 创建

    $(‘内容‘)

  2. 写入

    • 父级最后

      fdom.append(dom)

      dom.appendTo(fdom)

    • 父级起始

      fdom.prepend(dom)

      dom.prependTo(fdom)

    • 标签之后

      dom.after(ndom)

      ndom.insertAfter(dom)

    • 标签之前

      dom.before(ndom)

      ndom.insertBefore(dom)

  3. 节点/标签替换

    dom.replaceWith(ndom)

    ndom.replaceAll(dom)

  4. 删除

    dom.empty

    dom.remove()

  5. 克隆

    dom.clone()

    • 参数1:默认false 子集事件默认也会克隆
    • 参数2:默认true
    • 参数1:true 参数2:false 只克隆本身不可隆子元素事件

阻止默认行为

动画

标准动画

 // 给切换按钮,添加事件
    $(‘[name="toggle"]‘).click(function(){
        $(‘div‘).toggle( 2000 , ‘linear‘ , function(){
            console.log(‘div完全切换了‘);
        } )
    })

折叠动画

渐隐渐现

自定义动画

dom.animate({属性;值, ...}, 时间, 方式, 函数)

动画结束

扩展

ajax请求

 $.ajax({
        //请求方式
        type : "POST",
        //请求的媒体类型
        contentType: "application/json;charset=UTF-8",
        //请求地址
        url : "http://127.0.0.1/admin/list/",
        //数据,json字符串
        data : JSON.stringify(list),
        //请求成功
        success : function(result) {
            console.log(result);
        },
        //请求失败,包含具体的错误信息
        error : function(e){
            console.log(e.status);
            console.log(e.responseText);
        }
    });

深浅拷贝

  1. 浅拷贝:拷贝复制引用类型的内存地址
  2. 深拷贝:拷贝复制,引用类型的数据,两个变量之间没有相互联系

    $.extend(参数1, 参数2, 参数3)

    • 参数1:
      1. true 深拷贝
      2. false 浅拷贝
    • 参数2: 新变量
    • 参数3: 原始变量

ajax全局钩子函数

    // 在请求,开始时会触发
    // 多个请求,只会触发一次
    $(window).ajaxStart(()=>{
        console.log(‘第一个请求就要开始了‘);
    })

    // 在发送请求时会触发
    // 多个请求,会触发多次
    $(window).ajaxSend( function(){
        console.log(‘发送了一个请求‘);
    } )

    // 在请求成功时,会触发
    // 多个请求成功,会触发多次
    $(window).ajaxSuccess(()=>{
        console.log(‘有一个请求成功了‘)
    })

    // 在请求失败时,会触发
    // 多个请求成功,会触发多次
    $(window).ajaxError(()=>{
        console.log(‘有一个失败成功了‘)
    })

    // 在请求结束时,会触发
    // 多个请求结束,会触发多次
    $(window).ajaxComplete(()=>{
        console.log(‘有一个请求结束了‘)
    })

    // 在所有请求结束时,会触发
    // 只会触发一次
    $(window).ajaxStop(()=>{
        console.log(‘所有请求都结束了‘)
    })

多库并存

原文:https://www.cnblogs.com/ypSharing/p/jqueryHandler.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!