JQ总结

作者: lucky_yao | 来源:发表于2020-10-27 08:01 被阅读0次

    第一章

    1:什么是jQuery?
    它通过封装原生的 JavaScript 函数得到一整套定义好的方法。
    2:jQuery的作用?
    1.像 CSS 那样访问和操作 DOM
    2.修改 CSS 控制页面外观
    3.简化 JavaScript 代码操作
    4.事件处理更加容易
    5.各种动画效果使用方便
    6.让 Ajax 技术更加完美
    7.基于 jQuery 大量插件
    8.自行扩展功能插件
    3:jQuery的优点?
    以更少的代码、实现更多的功能
    4:jQuery的引入方式?
    1:本地引入(外链接)
    <script src="../js/jquery-1.10.1.js" type="text/javascript" charset="utf-8"></script>
    2:网址引入
    百度:
    <script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
    又拍云:
    <script src="https://upcdn.b0.upaiyun.com/libs/jquery/jquery-2.0.2.min.js"></script>
    新浪:
    <script src="https://lib.sinaapp.com/js/jquery/2.0.2/jquery-2.0.2.min.js">
    Google 谷歌
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
    5:$(function(){})类似window.onload,告诉浏览器先加载html和css在加载js代码
    6:本地引入和网址的引入的区别:
    本地引入的优缺点:
    优点:
    1:本地引入JQ加载的时候速度更快.
    2:本地引入更加稳定。
    缺点:
    1:但是会增加项目的体积,本地引入的库或者框架或者插架太多让网站打开速度变慢。
    网站引入的优缺点:
    优点:
    1:不必担心增加项目的体积。
    缺点:
    1:引入有时会不稳定。
    7:拓展:
    写法不同(参考4拓展html页面)
    8:jq库的版本:
    旧版本和新本版的问题。
    旧版本更稳定,兼容性更好。
    新版本只是增加了一些新的方法,最新版本不建议用,因为稳定性不好。
    jq 2.0以上版本不在支持ie6/7/8浏览器。
    (如果大家工作当中需要兼容ie6/7/8浏览器的话就需要引用jq2.0以下版本)
    9:如果想了解学习jq,建议去jq官网自学API
    10:()==document.getElementById();('属性')

    第二章

    1:基础选择器
    id #
    class .
    标签 div
    * 通配符
    群组 #box,p
    css() 一个值的时候是找这个元素的值,两个值的时候是设置样式
    举例 找元素的值:
    alert(('p').css('color')) 举例 设置元素的样式:('#txt').css('color','red');
    size()/length 返回的元素个数
    举例:
    alert(('p').size()) 2:层次选择器('p>span') 子选择器
    ('p span a') 后代选择器('div+p') 同级下一个节点选择器
    ('div~p') 下面所有的同级节点选择器 3:过滤选择器 :first 选中第一个元素 :last 选中最后一个元素 :not() 不选中某一个元素 :even 选中是偶数的元素(从零开始计算,第一个元素是0) :odd 选中是奇数的元素 :eq(数字) 选中相等数字的元素(从零开始计算,第一个元素是0) :gt(index) 选中大于数字的元素 :lt(index) 选中小于数字的元素 4:内容过滤选择器 p:contains('文本') 匹配包含给定文本的元素(找到p标签中包含指定文本内容的p标签) p:has('span') 有没有包含特定的元素 5:属性选择器 [attrbute] 匹配包含给定属性的元素 [attribute=value] 匹配input框里属性 选取 所有被选中的元素('input:checked')

    第三章 选择器方法

        find()      匹配当前元素的后代   ==  $('div p')后代选择器
        children()  匹配当前元素的子元素  ==  $('div>p')子选择器
        next()      匹配当前元素的下一个同级元素==    $('div+p')下一个同级选择器
        nextAll()   匹配当前元素的下的所有同级元素 ==  $('div~p')
        prev()      匹配当前元素的前一个同级元素==  
        prevAll()   匹配当前元素的前的同级元素== 
        siblings()  匹配当前元素的所有同级元素
        first()     选中第一个元素   == $('li:first')
        last()      选中最后一个元素
        not()       不想选中某个元素==$('li:not(.a)')
        eq(数字)  选择当前的元素
        index()     返回当前元素下标
        html()      返回当前元素文本内容/修改当前元素文本内容(可以添加标签)
        text()      返回当前元素文本内容/修改当前元素文本内容(不可以添加标签)
        filter()    筛选出和属性匹配的元素
        attr()      获取属性值/设置属性
        val()       获取input框里面的值的方法
        var u=$('<ul></ul>')//创建一个标签
        append()    插入节点的方法
        parent()    查找父节点
        parents()   查找祖父节点(父节点以上的所有父节点)
    

    第四章 dom对象

    1:获取值的方法
    html()
    text()
    val() 既可以获取input里面的值/也可以设置值
    ** 如果是下拉菜单 、单选、多选的情况下 val([''])方法 还可以将他们设置成默认选中
    **prop('checked',true) 专属input默认选中方法
    2:操作属性的方法
    attr() 获取/设置元素属性的方法
    ** attr()还可以设置多个属性 设置多个属性采用对象的模式 attr({'k1':'v1','k2':'v2','k3':'v3'})
    removeAttr() 移除属性方法

    addClass()  只能向元素添加class值
    removeClass()   删除属性方法
    
    //toggleClass() 添加样式切换方法  (方法中不加 .)//如果有就删除  如果没有就添加
    
    //hasClass()/is()   检查元素是否包含指定的类  (方法中不加 .)
    

    3:遍历方法 :
    each() 元素的遍历方法
    ().each() 用来操做dom.each(arr,function(下标,内容){}) 比如遍历数组
    4:节点内部插入
    var box=$('<div id="box">你好</div>') 创建一个标签
    append() 插入一个标签
    appendTo() 插入到标签里面的后面
    prepend('插入一对标签') 插入到标签里面的前面
    prependTo() 插入到标签里面的后面
    5:节点外部插入
    after() 向指定元素后插入一个同级标签
    before() 向指定元素前插入一个同级标签
    insertAfter()将指定元素移入指定元素后面
    insertBefore()将指定元素移入指定元素前面
    6:包裹节点方法
    wrap() 向指定元素包裹一层代码
    wrap(element) 向指定标签包裹指定标签
    unwrap() 移除指定元素上一层标签
    wrapAll() 包裹所有的指定元素上

    wrap()和wrapAll()的区别是:
    wrap()方法是把指定标签看成独立体分别包裹
    wrapAll()方法是把指定标签包裹成一个独立体
    

    7:操作节点方法
    clone(true/false) 克隆节点
    ** 如果克隆里面是false 那么他是不会克隆事件行为的,有true的话就会克隆事件行为
    remove() 删除节点
    detach() 删除节点
    empty() 删除内容保留标签
    replaceWith() 替换节点
    replaceAll() 替换节点(先创建再删除)
    8:其他css方法
    width() 获取/设置元素的宽度
    height() 获取/设置元素的高度
    innerWidth() 获取元素的宽,包含内边距(padding)
    innerHeight() 获取元素的高,包含内边距(padding)
    outerWidth() 获取元素的宽,包含内边距(padding)+边框(border)
    **outerWidth(true) 获取元素的宽,包含内边距(padding)+边框(border)+外边距(margin)
    outerHeight() 获取元素的高,包含内边距(padding)+边框(border)
    9:元素偏移方法
    offset() 元素相对可视窗口的偏移位置
    position() 元素相对父元素的偏移位置
    scrollTop(val) 获取/设置垂直滚动条的值
    scrollLeft(val) 获取/设置横滚动条的值

    第五章 动画

    show(秒数)        显示
    hide(秒数)        隐藏
    toggle()        切换显示/隐藏
    
    slideUp()       上隐藏
    slideDown()     下显示
    slideToggle()   上下切换
    
    fadeIn()        淡入
    fadeOut()       淡出
    fadeToggle()    切换淡入淡出
    fadeTo(秒数,透明度)
    
    animate()       自定义动画
    
    stop()          停止  (只能停止当前的列队动画)
    delay()         延迟
    

    第六章 事件

    1:绑定事件方法:
    bind(事件,函数) 元素绑定事件
    **绑定事件方法的优点就是可以绑定多个事件,可以同时处理
    2:去除绑定方法: unbind()
    3:其他事件方法:

    ------------------------------鼠标事件----------------------------------------------------------
        click()                     点击事件
        dblclick()                  双击
        mousedown()                 鼠标按下
        mouseup()                   鼠标弹起
        mouseover()                 鼠标移入   **他们俩个的区别在于:over和out事件碰到子元素也会触发事件,enter和leave不会
        mouseout()                  鼠标移出
        mouseenter()                鼠标移入
        mouseleave()                鼠标移出
        mousemove()                 鼠标移入移出
    ------------------------------滚动事件----------------------------------------------------------    
        scroll()                    滚动
    ------------------------------表单事件----------------------------------------------------------
        focus()                     获取焦点
        blur()                      失去焦点
        focusin()                   获取焦点
        focusout()                  失去焦点
        submit()                    提交          
        select()                    选中文本
        change()                    改变文本
    ------------------------------浏览器事件-------------------------------------------------------
        resize()                    缩放浏览器   
    ------------------------------键盘事件----------------------------------------------------------
        keydown()                   键盘按下
        keyup()                     键盘弹起
        keypress()                  键盘简码
    

    4:复合事件
    hover(函数,函数)
    举例:
    hover(function(){},function(){})
    事件中的第一个函数是移入是做的事情,后面函数里面是移出的时候做的事情
    5:如果大家想要用废弃的方法在新版本里面,可以下载 jquery-migrate.js 文件,来向下兼容已被删除掉的方法
    6:事件委托方法
    on(事件,要委托的元素,函数)
    one() 只能执行一次事件的方法
    live() 事件委托(在1.9版本被删除)
    die() 删除事件委托(在1.9版本被删除)
    7:事件命名空间
    举例:
    $('li:eq(1)').bind('click.b',f2); function f2(){ alert('我是第2个li') }
    $('li:eq(0)').unbind('click.a')
    8:事件模拟操作

        trigger(事件)     模拟事件方法(在页面刷新的时候模拟执行一次)
        trigger()可以传参(字符串,对象,数组)    
        triggerHandler()
    

    9:阻止事件冒泡和默认行为

        event.stopPropagation();  阻止事件冒泡方法
        event.preventDefault(); 阻 止默 认 行为 ( 表 单提 交 )
        return false            阻 止默 认 行为
    

    10:事件对象 event

        对象属性:
        event.target        事件源    event.srcElement(IE事件源写法)
        event.type          事件类型
        event.pageX/Y       鼠标在页面上的坐标位置
        event.clientX/Y     鼠标在可视窗口上的坐标位置
        event.screenX/Y         鼠标在屏幕上的坐标位置 
    

    11:this和event.target的区别

            this指向事件前对象
            event.target指向事件源
    

    相关文章

      网友评论

          本文标题:JQ总结

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