• jQuery知识点


    jQuery

    jQuery官网:https://www.jquery123.com/
    jQuery中文网:https://www.jquery123.com/

    jQuery对象

    • $=jQuery
    • 获取元素:$('选择器')
    • 页面dom加载完毕:$(function() {...})
    • DOM对象:通过原生方式获取到的
    • jQuery对象:通过$('选择器')获取到的 【jQuery对象是以伪数组形式存储的】
    • DOM对象转为jQuery对象:$(DOM对象)
    • jQuery对象转为DOM对象:$('选择器').[index] 或 $('选择器').get(index)
    • jQuery对象只能使用jQuery方法,DOM对象只能使用原生javascript属性和方法''

    jQuery选择器

    • 普通选择器
      • 全选 $('*')
      • 标签 $('tagName')
      • id $('#idName')
      • 类 $('.className')
      • 并集 $(' div,p,li')
      • 交集 $('nav.item')
      • 子代 $('ul>li')
      • 后代 $('ul li')
    • jQuery筛选选择器
      • :first $('li:first') 第一个li元素
      • :last $('li:last') 最后一个li元素
      • :eq(index) $('li:eq(2)') 获取到的li中,索引是2的li元素
      • :odd $('li:odd') 获取到的li中,索引是奇数的li元素
      • :even $('li.even) 获取到的li中,索引是偶数的li元素
    • jQuery筛选方法
      • parent() $('li').parent() 查找父级
      • children(selector) $('ul').children('li') 相当于 $('ul>li')
      • find(selector) $('ul').find('li') 相当于 $('ul li')
      • siblings(selectror) $('.first').siblings('li') 查找兄弟节点,不包括本身
      • nextAll([expr]) $('.first').nextAll() 查找.first元素之后的所有同辈元素
      • prevtAll([expr]) $('.last').prevtAll() 查找.last元素之前的所有同辈元素
      • hasClass(className) $('div').hasClass('aa') div中是否有类aa,有返回true
      • eq(index) $('li').eq(2) 相当于 $(li:eq(2))

    补充

    • 当前元素: $(this)
    • 当前元素的索引号: $(this).index()
    • 注册事件 : $('选择器').事件(function(){...})
    • 事件切换:hover([over],out) 【over相当于mouseenter,out相当于mouseleave】
    element.hover(function(){},function(){})//第一个function相当于mouseenter,第二个相当于mouseleave
    element.hover(function(){})//如果只写一个function那么,鼠标进入和离开都会触发这个函数
    

    操作jQuery样式

    获取样式值:element.css('样式属性')
    设置样式:
    • element.css('样式属性','值') 【如果值是数值可以直接写数字】
    • element.css({样式属性:'值';样式属性:'值';...})【如果值是数值可以直接写数字,复合属性按驼峰命名法写】
    添加类:element.addClass('className')
    删除类:element.removeClass('className')
    切换类:element.toggleClass('className')

    【jQuery中的类操作,不影响原来的类】

    jQuery动画

    显示隐藏
    • show([speed],[easing],[fn])

      speed:'slow','normal','fast',或者毫秒数

      easing:'swing','linear'

      fn:是回调函数

      这些参数一般不写

    • hide()

    • toggle()

    滑动
    • slideDown()
    • slideUp()
    • slideToggle()
    淡入淡出
    • fadeIn()
    • fadeOut()
    • fadeToggle()
    • fadeTo(time,transparency) 修改透明度,这两个参数必须写时间是毫秒,透明度是数值
    停止动画

    stop() 【停止上一次动画,该方法必须写在动画之前】

    自定义动画

    animate(params,[speed],[easing],[fn]) 【params是一个对象,想要修改的样式;后面三个参数可有可无】

     // 例如
        $('div').animate({
              left: 500,
              top:300,
              opacity:.5,
            },500)
    

    jQuery属性操作

    • 获取固有属性值:element.prop("属性名")
    • 设置固有属性值:element.prop("属性名","属性值")
    • 获取自定义属性值:element.attr("属性名") 【自定义和以data-开头的 都可以】
    • 设置自定义属性值:element.attr("属性名","属性值")
    • 获取数据函数:element.data('key')
    • 设置数据缓存 :element.data('key',value)
        //【data()数据是存放在元素的内存里面的,如果获取的是以data-开头的,获取或设置时data-可以省略】
        // <div index="1" data-index="2">我是div</div>
        // <span>123</span>
    
          $('span').data('uname', 'kris')
          console.log($('span').data('uname'));
          console.log($('div').data('index'));
    

    jQuery文本属性

    • 获取元素内容:element.html()*
    • 设置元素内容:element.html('内容')
    • 获取元素文本内容:element.text()
    • 设置元素文本内容:element.text('文本')
    • 获取表单值:element.val()
    • 设置表单值:element.val('value')

    jQuery元素操作

    遍历元素
    • object.each(function(index,domElement){...})
    • $.each(object,function(index,domElement){...}) 【主要用于遍历数据(数组,对象),处理数据】
    • 【index是索引号;domElement是每一个DOM对象,不是jQuery对象】
    创建元素
    $("<tagName></tagName>")
    
    添加元素
    • 内部添加:
    • element.append(内容) 【把内容放在element内部的最后】
    • element.prepend(内容) 【把内容放在element内部的最前】
    • 外部添加:
    • element.after(内容) 【把内容放在element的后面】
    • element.before(内容) 【把内容放在element前面】
    删除元素
    • element.remove() 删除element本身
    • element.empty() 删除element中的所有子节点 【删除孩子】
    • element.html("") 清除element中元素内容 【删除孩子】

    jQuery大小-位置操作

    jQuery事件

    jQuery事件注册
    //单个事件(mouseover,mouseout,blur,focus,change,keydown,keyup,resize,scroll)
    element.事件(function(){...})
    
    jQuery事件处理
    • 注册事件
    //语法
    element.on(events,[selector],function(){...})//selector是element的子元素选择器
    //例如:
     $('div').on({
          mouseenter: function () {
         ...
          },
          click: function () {
           ...
          }
        })
    //如果多个事件处理程序一样,多个事件之间用空格隔开
    $('div').on("click mouseover",function(){...})      
    
    //on可以实现事件委托(委派)        
         $('ul').on('click', 'li', function () {
            console.log(1111);
          })
          // click绑定在ul身上,但是触发的对象是ul中的li
                                             
    // on可以给动态创建的元素绑定事件
          $('ol').on('click', 'li', function () {
            console.log(22222);
          })
          let li = $("<li>我是后来的li</li>")
          $('ol').append(li)
    
    • on可以实现事件委托(委派)

    • on可以给动态创建的元素绑定事件

    • 解绑事件

      element.off()//解绑element身上的所有事件
      element.off("事件1")//解绑element身上的事件1
      element.off("事件1",[selector])//解绑了element的子选择器selector身上的事件1
      //例如
        $("ul").off("click","li")
      
    • one() 事件只能触发一次

    //语法
    element.one(event,function(){...})
    //例如
          $('p').one("click", function () {
            console.log("p");
          })
    
    • trigger()自动触发事件
      • element.事件()
      • element.trigger("事件")
      • element.triggerHandler("事件") 【不会触发元素默认行为】
      $("span").on("click",function() {
        alert(1111)
      })
          // $("span").click()
          // $("span").trigger("click")
          $("span").triggerHandler("click")
    
    jQuery事件对象
    element.on(events,[selector],function(e){console.log(e)})//selector是element的子元素选择器
    //e就是事件对象
    
    阻止默认行为:e.preventDefault()或者return false
    阻止冒泡:e.stopPropagation()

    jQuery对象拷贝

    • $.extend([true/false],target,object1,object2...)
    • true表示深拷贝,false表示浅拷贝,如果不写默认是false
    • 把object...拷贝给taget

    jQuery多库共存

    • $相当于jQuery

    • const xx =$.onConflict() 【此时xx就相当于是jQuery也就是$】

    jQuery插件

    jQuery之家: http://www.htmleaf.com/

    jQuery插件库:http://www.jq22.com/

    jQuery元素大小

    • element.width()/height() 【width
    • element.innerWidth()/innerHeight() 【width+padding
    • element.outerWidth()/outerHeight() 【width+padding+border
    • element.outerWidth(true)/outerHeight(true) 【width+padding+border+margin】

    jQuery元素位置

    offset()获取或设置元素相对于文档的偏移量
    • 获取:element.offset().top/left
    • 设置:element.offset({top:xx,left:xx})
    position()获取元素相对于带有定位父级的偏移量(如果父级没有定位,为文档为准)
    • 获取:element.position().top/left
    scrollTop()/scrollLeft() 获取或设置元素被卷去的头部/左侧
    • 获取:element.scrollTop()/scrollLeft()

    • 设置:element.scrollTop(值)/scrollLeft(值)

    • 带有动画的返回顶部:element.animate({scrollTop:0})

     //元素才能做动画
          $('html,body').stop().animate({
              scrollTop: 0
            })
    
  • 相关阅读:
    C语言II博客作业01
    学期总结
    C语言|博客作业01
    C语言|博客作业02
    C语言|博客作业08
    C语言|博客作业07
    C语言|博客作业06
    C语言|博客作业05
    C语言|博客作业04
    c语言||博客作业04
  • 原文地址:https://www.cnblogs.com/xiaojimeng/p/12821015.html
Copyright © 2020-2023  润新知