1. JQ中的遍历

    • each()            ★★★★★
      • 回调函数的两个参数
      • this指向
      • return false;
<script>
    $('li').each(function(i,ele) {
        //alert(i)
        //ele:原生的元素↓
        ele.style.background = 'red'
        $(ele).css('background','red')
    })
</script>

  

 
eg.
<body>
    <ul>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
    </ul>
</body>
<script>
    $('li').each(function(i,ele) {
        $(ele).html(i)
        // $(this).html(i)也可以
        // ele.innerText = i 也可以
    })
</script>
<body>
    <ul>
        <li>0</li>
        <li>1</li>
        <li>2</li>
        <li>3</li>
    </ul>
</body>
 
return false 跳出遍历操作(相当于 原生中的break)|| 单用 return可没这效果!!, 例如 
$('li').each(function(i,ele) {
    $(ele).html(i)
    if (i == 2) return false
})
结果为:
 
 
 

2.JQ包装对象

    • wrap()                                      ★★★
    • wrapAll()             整体包装      ★span span span | p
    • wrapInner()          内部包装      ★
    • unwrap()               删除父级(除了body)          ★
    • 例子  :  管理员与普通用户状态控制
  • <!-- warp() 包裹 -->
<script>
    // $('ul').wrap('<div id="nav">')
    $('ul').wrap('<div id="nav"></div>')
</script>
 
 

3. get() 把jQ对象转换成js对象,默认获取的是一个原生集合,传入参数,可以找到指定项

  • 与eq的区别     eq()得到仍是jq对象
     $('div').get(0).innerHTML
     $('div').eq(0).html()

  • 为什么要转,比如:
    • 获取内容的高度
            原生中的 .scrollHeight 可以获取标签内容的高度
            alert( $('textarea').get(0).scrollHeight) -> 文本域内容高度
            alert($('textarea).height()) ->文本域设置的高度
    • 元素之间的比较
            栗子暂时不太好,有两点注意:
        console.log([] == []) -> false
        console.log({} == {}) -> false