手机国产精品一区二区,另类第一页,亚欧在线,日韩一国产极品99热在线播放69_国产美女久久精品香蕉欧美_亚州中文无码aⅤ在线_免费国产v片在线

jQuery超詳細(xì)總結(jié)

2020-3-7    前端達人

jQuery超詳細(xì)總結(jié)

文章目錄

jQuery超詳細(xì)總結(jié)

一 選擇器

特殊選擇器

二 篩選器

用在 jQuery 選擇的元素后面

都是方法,對選擇出來的元素進行二次篩選

三 文本操作

總結(jié)

四 元素類名操作

五 元素屬性操作

在 H5 的標(biāo)準(zhǔn)下, 給了一個定義, 當(dāng)你需要寫自定義屬性的時候,最好寫成 data-xxx="值",當(dāng)大家看到 data-xxx 的時候, 就知道這是一個自定義屬性

六 元素樣式操作

七 綁定事件

  1. on()方法是專門用來綁定事件
  2. one() 方法是專門用來綁定一個只能執(zhí)行一次的方法
  3. off() 方法是專門用來解綁一個元素的事件的
  4. trigger() 方法是專門用來觸發(fā)事件的方法
  5. hover()
  6. 常用事件

    八 節(jié)點操作
  7. 創(chuàng)建節(jié)點
  8. 插入節(jié)點
  9. 刪除節(jié)點
  10. 替換節(jié)點
  11. 克隆節(jié)點

    九 獲取元素尺寸

    尺寸: 元素的占地面積

    三套方法, 四種使用方式

    十 獲取元素位置
  12. offset()
  13. position()

    十一 獲取卷去的尺寸(頁面滾動條)

    scrollTop()

    scrollLeft()

    十二 jQuery中的函數(shù)

    ready() 事件

    each() 方法

    十三 jQuery中的動畫

    讓元素出現(xiàn)不同的移動, 改變

    標(biāo)準(zhǔn)動畫

    折疊動畫

    漸隱漸顯動畫

    綜合動畫

    停止動畫

    十四 jQuery發(fā)送ajax請求

    jQuery 里面幫我們封裝好了幾個方法

    專門用來發(fā)送 ajax 請求的

    jQuery 發(fā)送一個 GET 請求

    jQuery 發(fā)送一個 POST 請求

    jQuery 的 $.ajax 方法

    jQuery 的 ajax 全局鉤子函數(shù)

    十五 jQuery 發(fā)送一個 jsonp 請求

    十六 jQuery 的多庫并存機制

    十七 jQuery 的插件擴展機制

    十八 jQuery 的拷貝對象問題

    十九 jQuery 的插件

    jQuery 是一個前端庫,也是一個方法庫

    他里面封裝著一些列的方法供我們使用

    我們常用的一些方法它里面都有,我們可以直接拿來使用就行了

    jQuery 之所以好用,很多人愿意使用,是因為他的幾個優(yōu)點太強大了

    優(yōu)質(zhì)的選擇器和篩選器

    好用的隱式迭代

    強大的鏈?zhǔn)骄幊?br />
    因為這些東西的出現(xiàn),很多時候我們要做的事情被 “一行代碼解決”

    接下來我們就來認(rèn)識一下 jQuery

    一 選擇器

    $()

    css怎么獲取元素這里就怎么寫

    獲取的是一組元素,當(dāng)里面是id時,這組元素只有一個內(nèi)容

    特殊選擇器

    :first $('li:first') 獲取元素集合里的 第一個元素

    //  console.log($('li:first'))

    1

    :last $('li:last') 獲取元素集合里的 最后一個元素

    :eq() $('li:eq()')獲取元素集合里 索引為n 的那個元素,索引從0開始

    :odd $('li:odd') 獲取所有索引為 奇數(shù) 的元素

    :even $('li:even') 獲取所有索引為 偶數(shù) 的元素

    二 篩選器

    用在 jQuery 選擇的元素后面

    都是方法,對選擇出來的元素進行二次篩選

    first() 篩選 元素集合里面的 第一個元素

    //  console.log($('li').first())

    1

    last() 篩選 元素集合里面的 最后一個元素

    eq(n) 篩選元素集合里 索引為n 的那個元素

    next() 篩選出來 元素 的下一個 兄弟元素

    nextAll() 篩選出 元素后面的 所有 兄弟元素

    nextAll(選擇器) 篩選出元素后面的 所有兄弟元素 中符合選擇器的元素

    nextUntil(選擇器) 篩選出 元素后面的所有兄弟元素 直到 選中的元素為止 不包含選中的元素

    //  console.log($('span').nextUntil('.a10'))

    1

    prev() 篩選出來 元素 的上一個 兄弟元素

    prevAll() 篩選出 元素上面的 所有 兄弟元素 (元素集合中的元素 從上一個兄弟元素開始排序)

    prevAll(選擇器) 篩選出 元素上面的 所有兄弟元素 中符合選擇器的元素

    prevUntil(選擇器) 篩選出 元素上面的所有兄弟元素 直到 選中的元素為止 不包含選中的元素

    //  console.log($('span').prevUntil('.a10'))

    1

    parent() 篩選出元素的 父元素

    parents()篩選出元素的 所有祖先元素 直到html元素

    parents(選擇器)拿到 所有祖先元素中的符合選擇器的元素

    parentsUntil(選擇器)篩選出元素的 所有的祖先元素 直到某一個元素 不包含該元素

    //  console.log($('span').parents('body'))

    // console.log($('span').parentsUntil('html'))



    children() 篩選出元素的 所有子級元素



    children(選擇器) 篩選出元素 所有子級元素中的 符合選擇器的元素

    siblings() 篩選出所有的兄弟元素 不包含 自己



    siblings(選擇器) 篩選出所有的兄弟元素中的 符合選擇器的元素

    find(選擇器)



    篩選 一個元素后代中的 符合選擇器的元素

    在一個元素集合的每一個元素中 查找后代元素 符合選擇器的元素

    index() 獲取元素的索引位置



    索引位置是指 是該父元素下的第幾個元素 拿到的是 數(shù)字

    三 文本操作

    html() 一個讀寫的屬性

    html()不傳遞 參數(shù)的時候 就是獲取元素內(nèi)部的超文本內(nèi)容

    html(參數(shù))傳遞 參數(shù)的時候 就是設(shè)置元素內(nèi)部的超文本內(nèi)容

    text() 一個讀寫的屬性

    text()不傳遞 參數(shù)的時候 就是獲取元素內(nèi)部的超文本內(nèi)容

    text(參數(shù))傳遞 參數(shù)的時候 就是設(shè)置元素內(nèi)部的超文本內(nèi)容

    val() 一個讀寫的屬性 操作 input 標(biāo)簽

    val()不傳遞參數(shù)的時候, 就是獲取標(biāo)簽的 value 值

    val(參數(shù))傳遞一個參數(shù)的時候, 就是設(shè)置標(biāo)簽的 value 值

    總結(jié)

    獲取

    html() 只能獲取第一個元素的超文本內(nèi)容

    text() 能獲取元素集合內(nèi)所有元素的文本內(nèi)容合

    val() 只能獲取第一個元素的 value 值

    設(shè)置

    html() 給元素集合內(nèi)所有元素設(shè)置超文本內(nèi)容

    text() 給元素集合內(nèi)所有元素設(shè)置文本內(nèi)容

    val() 給元素集合內(nèi)所有元素設(shè)置 value 值

    四 元素類名操作

    addClass() 添加類名

    執(zhí)行這個方法會給元素集合里面所有的元素添加上固定的類名

    如果有就不添加, 不存在這個類名時添加

    removeClass() 移除類名

    執(zhí)行這個方法刪除 元素集合里面所有元素 的指定類名

    toggleClass()切換類名

    執(zhí)行這個方法會給元素集合里面的所有元素切換類名

    本身存在這個類名, 刪除類名

    本身不存在這個類名, 添加類名

    hasClass() 判斷有沒有某一個類名

    返回的時一個布爾值, 表示這個類名是否存在

    五 元素屬性操作

    在 H5 的標(biāo)準(zhǔn)下, 給了一個定義, 當(dāng)你需要寫自定義屬性的時候,最好寫成 data-xxx=“值”,當(dāng)大家看到 data-xxx 的時候, 就知道這是一個自定義屬性

    attr() 和 removeAttr()



    attr: attribute 屬性

    attr()

    是一個讀寫的方法

    attr(要讀取的屬性名): 傳遞一個參數(shù)的時候是讀取

    attr(屬性名, 屬性值): 傳遞兩個參數(shù)的時候是設(shè)置

    removeAttr() 專門用來移除屬性的

    attr 這套方法的注意:

    所有的屬性都會顯示在標(biāo)簽上(原生屬性和自定義屬性)

    不管你設(shè)置的是什么數(shù)據(jù)類型, 都會給你變成字符串

    removeAttr 刪除 attr 設(shè)置的屬性, 有多少刪除多少(針對自定義屬性)

    prop() 和 removeProp()



    prop: property 屬性

    prop()

    一個讀寫的方法

    prop(要讀取的屬性名): 傳遞一個參數(shù)的時候是讀取

    prop(屬性名, 屬性值): 傳遞兩個參數(shù)的時候是設(shè)置

    removeProp()專門用來移除屬性的

    prop 這套方法的注意:

    非原生屬性, 不會顯示在標(biāo)簽上, 但是你可以獲取使用

    你存儲的是什么數(shù)據(jù)類型, 獲取的時候就是什么數(shù)據(jù)類型

    removeProp 刪除 prop 設(shè)置的屬性, 有多少刪除多少(針對自定義屬性)

    removeProp() 不能刪除原生屬性 id class style 等等

    data() 和 removeData()



    data: data 數(shù)據(jù)

    data()

    一個讀寫的方法

    data(要讀取的屬性名): 傳遞一個參數(shù)的時候是讀取

    data(屬性名, 屬性值): 傳遞兩個參數(shù)的時候是設(shè)置

    removeData() 專門用來刪除數(shù)據(jù)的

    data 這套方法的注意:

    和元素的原生屬性沒有關(guān)系, 可以設(shè)置 id, 但是和元素的 id 沒關(guān)系

    就是在元素身上給你開辟一個地方, 存儲一些數(shù)據(jù)

    你設(shè)置的是什么數(shù)據(jù)類型, 拿到的就是什么數(shù)據(jù)類型

    removeData 刪除 data 設(shè)置的屬性

    data() 方法也能讀取寫在標(biāo)簽上的 H5 標(biāo)準(zhǔn)自定義屬性

    三個方法存儲內(nèi)容

    attr 設(shè)置的自定義屬性存儲在標(biāo)簽身上

    prop 設(shè)置的自定義屬性存儲在元素對象里面

    data 設(shè)置的自定義屬性存儲在元素對象里面單獨開辟的一個對象

    六 元素樣式操作

    css()

    一個讀寫的屬性

    不同操作需要 傳遞 不同的參數(shù)

    css('樣式名稱')

    css('width')

    獲取元素的樣式值, 不管是行內(nèi)樣式還是非行內(nèi)樣式都能獲取

    css('樣式名稱', '樣式的值')

    css('width', '200px')

    設(shè)置元素的樣式值, 元素集合能獲取多少個元素就置多少個元素

    設(shè)置的時候, 所有的單位都可以不寫, 默認(rèn)添加 px為單位

    css(對象)

    css({ width: 100, 不寫單位默認(rèn)是 px height: '200px', opacity: 0.5 })

    批量設(shè)置 css 樣式

    給元素集合里面的所有元素, 批量設(shè)置樣式

    七 綁定事件
  14. on()方法是專門用來綁定事件

    jQuery 里面通用的事件綁定方式

    不同操作 傳遞 不同參數(shù)

    on方法的各種參數(shù)描述

    on('事件類型', 事件處理函數(shù))

    給元素集合內(nèi)所有的元素綁定一個事件

    // 給 $('li') 獲取到的所有元素綁定一個點擊事件

        // $('li').on('click', function () {

        //   console.log('我被點擊了')

        // })



    on('事件類型', '事件委托', 事件處理函數(shù))

    把 事件委托 位置的元素的事件 委托給了前面元素合

        // 給所有的 li 標(biāo)簽設(shè)置事件委托, 委托給了 ul

        // $('ul').on('click', 'li', function () {

        //   console.log('我被點擊了, 事件委托')

        // })



    on('事件類型', 復(fù)雜數(shù)據(jù)類型, 事件處理函數(shù))

    給每一個元素綁定一個事件, 復(fù)雜數(shù)據(jù)類型是發(fā)事件時候傳遞的參數(shù)

     //   每一個 li 點擊的時候, 都能得到中間那個對象

        //   就是事件對象了面

        // $('li').on('click', { name: 'Jack', age: 18 }, function (e) {

        //   console.log('我被點擊了, li')

        //   console.log(e)

        // })

    1

    2

    3

    4

    5

    6

    on('事件類型', '事件委托', 任意數(shù)據(jù)類型, 件處函數(shù))

    做一個事件委托的形式, 第三個參數(shù)位置的數(shù)據(jù)

    是觸發(fā)事件的時候, 可以傳遞進去的數(shù)據(jù)

    on(對象)

    給一個元素綁定多個事件的方式 不能傳參數(shù)

     // $('ul').on({

        //   click: function () { console.log('點擊事件') },

        //   mouseover: function () { console.log('移入事件') },

        //   mouseout: function () { console.log('移出事件') }

        // })


  15. one() 方法是專門用來綁定一個只能執(zhí)行一次的方法

    傳遞的參數(shù)個數(shù)和意義 于 on 方法一摸一樣

    綁定上的事件只能執(zhí)行一次
  16. off() 方法是專門用來解綁一個元素的事件的

    使用方式

    off('事件類型') : 給該事件類型的所有事件處理函數(shù)解綁

    off('事件類型', 事件處理函數(shù)) : 解綁指定事件處理函數(shù)

    注意:on 和 one 綁定的事件它都能移除
  17. trigger() 方法是專門用來觸發(fā)事件的方法

    不通過點擊, 通過代碼把事件觸發(fā)了

    trigger('事件類型') : 把該元素的事件給觸發(fā)了
  18. hover()

    jQuery 里面唯一一個很特殊的事件函數(shù)

    表示一個鼠標(biāo)懸停動作

    只有一個使用方式

    hover(鼠標(biāo)移入的時候觸發(fā), 鼠標(biāo)移出的時候觸發(fā))

     // hover 事件

        //   如果你只傳遞一個函數(shù), 那么移入移出都觸發(fā)這一個函數(shù)

        $('ul')

          .hover(

            function () { console.log('鼠標(biāo)移入') },

            function () { console.log('鼠標(biāo)移出') }

          )


  19. 常用事件

    jQuery 把一些常用事件直接做成了函數(shù)



    click()

    mouseover()

    . . . . . .

    直接使用就可以了



    使用 click 舉一個例子



    click(事件處理函數(shù))

    click(參數(shù), 事件處理函數(shù))

    參數(shù): 觸發(fā)事件的時候傳遞到事件里面的數(shù)據(jù)

        // 常用事件

        // 給 ul 綁定了一個點擊事件

        // $('ul').click([1, 2, 3, 4, true], function (e) {

        //   console.log('你好 世界')

        //   console.log(e)

        // })

    1

    2

    3

    4

    5

    6

    八 節(jié)點操作
  20. 創(chuàng)建節(jié)點

    對應(yīng)原生 js 里面的 createElement()

    $('html 格式的文本')

    // 創(chuàng)建一個 div 元素

        console.log($('<div>我是一個創(chuàng)建出來的節(jié)點</div>'))

    1

    2
  21. 插入節(jié)點

    對應(yīng)原生 js 里面的 appendChild()

    內(nèi)部插入

    放在頁面元素的子元素位置, 放在末尾

    頁面元素.append(要插入的元素)

    要插入的元素.appendTo(頁面元素)

    放在頁面元素的子元素位置, 放在最前

    頁面元素.prepend(要插入的元素)

    要插入的元素.prependTo(頁面元素)

    外部插入

    放在頁面元素的下一個兄弟元素位置

    頁面元素.after(要插入的元素)

    要插入的元素.insertAfter(頁面元素)

    放在頁面元素的上一個兄弟元素位置

    頁面元素.before(要插入的元素)

    要插入的元素.insertBefore(頁面元素)
  22. 刪除節(jié)點

    對應(yīng)原生 js 里面的 removeChild()

    頁面元素.empty() -> 把自己變成空標(biāo)簽,將所有子元素移除

    頁面元素.remove() -> 把自己移除

    沒有刪除某一個子節(jié)點的方法,因為 jQuery 的選擇器的強大,直接找到要刪除的節(jié)點, remove()
  23. 替換節(jié)點

    對應(yīng)原生 js 里面的 replaceChild()

    頁面元素.replaceWith(替換元素)

    替換元素.replaceAll(頁面元素)
  24. 克隆節(jié)點

    對應(yīng)原生 js 里面的 cloneNode()

    元素.clone()

    兩個參數(shù)的值為 true或false

    第一個參數(shù): 自己的事件是否克隆

    第二個參數(shù): 子節(jié)點的事件是否克隆

    如果第一個參數(shù)的值為false,那么第二個參數(shù)不起作用,沒有意義。

    不管你是否傳遞參數(shù), 都會把所有后代元素都克隆下來

    元素 + 文本內(nèi)容 + 屬性 + 行內(nèi)樣式

    參數(shù)只決定是否克隆元素身上的事件

    九 獲取元素尺寸

    尺寸: 元素的占地面積

    width 和 height

    padding

    border

    margin

    三套方法, 四種使用方式

    這些方法都是不考慮盒模型的狀態(tài)(不管是什么型, 都是固定區(qū)域)

    width() 和 height()

    獲取元素的 內(nèi)容 區(qū)域的尺寸

    innerWidth() 和 innerHeight()

    獲取元素的 內(nèi)容 + padding 區(qū)域的尺寸

    outerWidth() 和 outerHeight()

    獲取元素的 內(nèi)容 + padding + border 區(qū)域的尺寸

    outerWidth(true) 和 outerHeight(true)

    獲取元素的 內(nèi)容 + padding + border + margin 區(qū)域的尺寸

    十 獲取元素位置
  25. offset()

    offset: 偏移量

    是一個讀寫的屬性

    讀取

    不傳遞參數(shù)就是讀取

    讀到的元素相對于頁面的位置關(guān)系

    返回值是一個對象 { left: xxx, top: xxx }

    書寫

    傳遞一個對象就是寫入 { left: xxx, top: xxx }

    注意: 絕對寫入

    不管你本身和頁面的尺寸是什么樣,寫多少就是多少
  26. position()

    postition: 定位

    只讀的方法

    讀取:

    元素相對于定位父級的位置關(guān)系

    得到的也是一個對象 { left: xxx, top: xxx }

    如果你寫的是 right 或者 bottom, 會自動計算成 left 和 top 值給你

    十一 獲取卷去的尺寸(頁面滾動條)

    scrollTop()

    原生 js 里面 document.documentElement.scrollTop

    讀寫的方法

    不傳遞參數(shù)的時候就是獲取卷去的高度

    傳遞一個參數(shù)就是設(shè)置卷去的高度

    scrollLeft()

    原生 js 里面 document.documentElement.scrollLeft

    讀寫的方法

    不傳遞參數(shù)的時候就是獲取卷去的寬度

    傳遞一個參數(shù)的時候就是設(shè)置卷去的寬度

    十二 jQuery中的函數(shù)

    ready() 事件

    類似于 window.onload 事件,但是有所不同

    window.onload 會在頁面所有資源加載行

    ready() 會在頁面 html 結(jié)構(gòu)加載完畢后執(zhí)行

    也叫做 jQuery 的入口函數(shù)

    有一個簡寫的形式 $(function () {})

    each() 方法

    類似于 forEach(), 遍歷數(shù)組的

    jQuery 的元素集合, 是一個 jQuery 數(shù)組, 不是一個數(shù)組, 不能使用 forEach()

    forEach語法: forEach(function (item, index) {})

    each語法:each(function (index, item) {})

    比較少用到, 因為 jQuery 隱式迭代 自動遍歷

    十三 jQuery中的動畫

    讓元素出現(xiàn)不同的移動, 改變

    transition -> 過渡動畫

    animation -> 幀動畫

    標(biāo)準(zhǔn)動畫

    show() 顯示元素

    語法: show(時間, 運動曲線, 運動結(jié)束的函數(shù))

    hide() 隱藏元素

    語法: hide(時間, 運動曲線, 運動結(jié)束的函數(shù))

    toggle() 改變元素顯示或隱藏(如果顯示就隱藏,如果隱藏就顯示)

    語法: toggle(時間, 運動曲線, 運動結(jié)束的函數(shù))

    三個方法的參數(shù)都可以選填,不需要每個都填寫

    折疊動畫

    slideDown() 下滑顯示

    語法: slideDown(時間, 運動曲線, 運動結(jié)束的函數(shù))

    slideUp() 上滑隱藏

    語法: slideUp(時間, 運動曲線, 運動結(jié)束的函數(shù))

    slideToggle() 切換滑動和隱藏

    語法: slideToggle(時間, 運動曲線, 運動結(jié)束的函數(shù))

    漸隱漸顯動畫

    實質(zhì)是透明的opacity的變化

    fadeIn() 逐漸顯示

    fadeIn(時間, 運動曲線, 運動結(jié)束的函數(shù))

    fadeOut() 逐漸消失

    fadeOut(時間, 運動曲線, 運動結(jié)束的函數(shù))

    fadeToggle() 切換顯示和消失

    fadeToggle(時間, 運動曲線, 運動結(jié)束的函數(shù))

    以上三個方法的參數(shù),均有默認(rèn)值

    fadeTo() 設(shè)置元素透明度變?yōu)槟阒付ǖ臄?shù)字

    fadeTo(時間, 你指定的透明度, 運動曲線, 運動結(jié)束的函數(shù))

    綜合動畫

    animate()

    基本上大部分的 css 樣式都可以動畫

    transform 不行, 顏色不行

    語法: animate({}, 時間, 運動曲線, 運動結(jié)束的函數(shù))

    { }里面就寫你要運動的 css 屬性,默認(rèn)單位為px

    停止動畫

    讓當(dāng)前的動畫結(jié)束

    因為 jQuery 的動畫你一直點擊,就會一直觸發(fā)。即使不再點擊讓事件發(fā)生,還是會把沒執(zhí)行完的動畫執(zhí)行完畢。

    你點擊 10 次, 他就會觸發(fā) 10 次, 直到 10 次全都完畢才結(jié)束

    stop()

    當(dāng)這個函數(shù)觸發(fā)的時候, 就會讓運動立刻停下來

    你運動到哪一個位置了就停止在哪一個位置

    finish()

    當(dāng)這個函數(shù)觸發(fā)的時候, 就會讓運動立刻停下來

    不管你運動到了哪一個位置, 瞬間到達運動完成位置

    十四 jQuery發(fā)送ajax請求

    jQuery 里面幫我們封裝好了幾個方法

    專門用來發(fā)送 ajax 請求的

    $.get() -> 專門用來發(fā)送 get 請求的

    $.post() -> 專門用來發(fā)送 post 請求的

    $.ajax() ->

    發(fā)送什么請求都可以(get, post, put, delete)

    并且還可以發(fā)送一個 jsonp 請求

    jQuery 發(fā)送一個 GET 請求

    語法: $.get(請求地址, 需要攜帶到后端的參數(shù), 成功的回調(diào)函數(shù), 期望后端返回的數(shù)據(jù)類型)

    請求地址: 你要請求的后端接口地址(必填)

    攜帶參數(shù): 你需要給后端傳遞的參數(shù)

    可以是一個固定格式的字符串 ‘key=value&key=value’

    也可以是一個對象 { a: 100, b: 200 }

    成功回調(diào): 當(dāng)請求成功的時候會執(zhí)行的函數(shù)

    期望數(shù)據(jù)類型: 就是你是不是需要 jQuery 幫你解析響應(yīng)體

日歷

鏈接

個人資料

藍藍設(shè)計的小編 http://www.88yangsc.com

存檔