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