1、parent()和offsetParent()
区别,parent()只是获取父级元素,不管父级元素怎样,而offsetParent()则是获取有定位的父级,如果一直没有就会一直找到body。
div#parent{
width:100px;
height:100px;
margin:30px;
background:red;
/* position:absolute; */
}
div#child{
width:50px;
height:50px;
margin:20px;
background:green;
}
<script>
$('#child').offsetParent().css('background','black')
</script>
因为child的父级parent没有定位,所以会一直往上找到body把body的背景颜色改成了黑色。
2、val()
$('input').val('我不想提交')
空就是获取,如果不是空就是设置value值
3、size()
$('li').size()
不接收参数,只是获取JQ返回的那个伪数组的长度。
4、each()
先不说each()这个方法,先记录一下刚才试验过程中遇到的问题。
- 用$()来取整个document的时候,括号里面不能加引号,加了引号就取不到,在stackoverflow上查了一下,也没有引号,但是没说具体原因。
- 用jQuery方法来取颜色的时候,默认取到的是rgb格式的。
- body也是一个block元素,内容也需要其它东西来撑起来的,而document则不需要。
- document.documentElement这个API取到的是document的中的根元素,一般来说就是html。
<script>
$('li').each(function(index,element){
element.style.background = 'red'
element.textContent = index
})
</script>
each()接收一个函数,这个函数接收两个参数,一个是遍历的元素的索引,一个是元素本身。这个API很有用。