jQuery插入、添加和刪除元素,事件和取消

1、addClass() removeClass()
$('div').find('h2').filter('.h2').addClass('.mother')

給選定的元素添加/刪除class,這個方法的好用之處在于,可以用它來實現各類樣式的切換。思路:提前把樣式寫好,放在一個class下面,選擇合適的時機把它添加移除到相應的元素當中。

2、width() innerWidth() outerWidth()
console.log($('.father').width())   //元素本身寬度
console.log($('.father').innerWidth())  //包含了元素padding
console.log($('.father').outerWidth())  // 包含了padding和border
console.log($('.father').outerWidth(true))  //包含了padding border margin
3、jQuery中的插入元素的方法
  • insertBefore() before()
$('.xxx').insertBefore($('.yyy'))

把.xxx的元素插入到.yyy的前面,注意這個時候返回的依然是.xxx的元素,這且.xxx這個元素的是剪切的過程,不是復制

相應的before()

$('div').before($('span'))

這個的意思就是在div的前面插入span,和insertBefore()剛好相反;兩者語義不同,insertBefore()的語義更容易理解一點。需要注意的是兩者的返回值,兩者返回的都是前面的元素。

相應的:

insertAfter()  // after()
appendTo()  // append()
prependTo()  // prepend()

都是一樣的邏輯

4.remove()和detach()
 let a = $('div').remove()
$('body').append(a)

在remove()以后依然會返回那個被刪除掉的div,可以將它賦值給一個變量以后進行恢復使用。同時,detach()和remove()的區別在于,它會保留原本的操作行為,而remove不會保留這些東西。

5、事件綁定和取消
$('div').on('click mouseenter',function(){
    console.log('123')
})

$('div').on({
   'click' : function(){console.log('1')},
   'mouseover' : function(){console.log('2')}
})

可以同時添加多個事件,中間用空格分開。而可以像下面的那個樣子,針對不同的事件觸發不同的函數。

$('div').on({
      'click':function(){
        console.log('1')
        $('div').off('click')
      },
      'mouseover':function(){
        console.log('2')
      }
    })

同一段代碼,如果添加了off()就是取消事件,如果是off()就是取消全部事件,如果是off('click')就是單獨取消一個事件。

 $('div').on('click',function(){
      console.log('1')
    })
    $('div').off()

如果是這樣寫,那么這個事件根本就沒有被執行就會被取消。注意off()的具體位置,在不同的位置會有不一樣的結果。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1:jQuery節點創建與屬性的處理 創建元素節點:可以有幾種方式,后面會慢慢接觸。常見的就是直接把這個節點的結構...
    碼農小楊閱讀 621評論 0 1
  • 第1章 簡介 第2章 DOM節點的創建 2-1 DOM創建節點及節點屬性 通過JavaScript可以很方便的獲...
    mo默22閱讀 833評論 0 8
  • 一、樣式篇 第1章 初識jQuery (1)環境搭建 進入官方網站獲取最新的版本 http://jquery.co...
    凜0_0閱讀 3,451評論 0 44
  • 1.JQuery 基礎 改變web開發人員創造搞交互性界面的方式。設計者無需花費時間糾纏JS復雜的高級特性。 1....
    LaBaby_閱讀 1,200評論 0 1
  • http://pyrlang.readthedocs.io/en/latest/ Pyrlang is a Pyt...
    時見疏星閱讀 287評論 0 0