jQuery第二課 ——節點選擇、元素創建與操作、包裝對象、jq轉原生js

15、節點的選擇
(1).first()
(2).last()
(3).slice() 參數 :[開始位置 ,結束位置) 不包括結束位置

(4).children()  直接的子元素 ,也可加參數進行過濾 ,eg : .children('div') 只匹配子元素div
(5).find()  
注意 :必須寫參數 find('div'),也可用(*)選取所有,會找到全部子孫節點
性能 :$('ul').find('li').css()  比  $('ul li').css() 性能要好

(6).parent()
(7).parents()  找所有的父節點,包括祖祖...節點
(8).closest()  也是找父節點
區別 :.closest()精確的查找,.closest('.box'),找的是最近的滿足條件的元素(在所有父節點中找,也包括自身),只能是一個

16、創建元素
$<'li'>
$('<div id="box1">123</div>')

17、添加節點
(1)insertBefore()        before()     指定元素的前面(兄弟)
(2)insertAfter()         after()      指定元素的後面(兄弟)
(3)append()              appendTo()   舔到父元素裏面的最後(appendChild) 
(3)prepend()             preendTo()   舔到父元素裏面的最前


18、節點刪除、清空、替換、clone操作
(1) remove() 只會保留當前selector的結構,操作行爲不會保留(如click事件)
(2) detach() 既保留結構,也保留操作行爲
(3) empty() 清除節點,包括後代元素

(4) 替換節點
$('div').replaceWith($('span'))  span替換div
$('div').replaceAll($('span'))  div替換span
(2)clone();
注意 : clone的默認行爲不會clone節點的操作行爲,加上參數clone(true)則會克隆節點的操作行爲

19、jQuery中的索引
index() 
注意 : 
(1)索引是指兄弟節點中的排行
(2)篩選後的排行
(3)善於利用索引做實例,例如選項卡
(4)也可加參數 index('span')

20、each 循環遍歷
$('li').each(function( i , elem ) {
    console.log(i)   //li的下標 
    console.log(elem)  //元素的元素
    $(this) == elem
    $(this).html(i);
    if (i==2) {
        return false;  //跳出循環
    };
})

21、JQ包裝對象
(1) wrap()        $('span').wrap('<div></div>')       給每個span外包一個div
(2) wrapAll()     $('span').wrapAll('<div></div>')     所有的span包在一個div中
(3) wrapInner()   $('span').wrapInner('<div></div>')   給每個span內包一個div
(4) unwrap()      刪除父級,body是刪除不掉的
eg : 權限設置 

22、Jq轉原生Js
get();
eg : 
$('.div1').innerHTML  //錯誤寫法,一個jq寫法,一個原生js寫法
改寫 :$('.div1').get().innerHTML  //則不會出錯,但是結果是 undefined,
進一步改寫 : $('.div1').get(0).innerHTML  //$('.div1').get()獲取到的是一個集合

利用轉原生的好處,因爲jq有些js原生方法沒有,比如獲取內容高度
$('.div1').height()  //這是div的高,並不是它的內容高
$('.div1').get().scrollHeight()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章