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()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章