jquery之对象访问
一、 $.each()与each()方法的作用及区别
$.each()和each()都是用来遍历对象集合和数组的,不同的是each()方法多用来遍历DOM节点,执行DOM操作。而$.each()多用于对象和数组的操作。
1) each()方法
each()方法传递一个匿名函数,匿名函数同时传递俩个参数,第一个返回被遍历对象集合的下标,如果是DOM对象集合则第二个返回当前循环下的DOM对象。
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
<script>
$("ul li").each(function(i,data){
alert(i);
alert(data)
});
</script>
有3个li标签,所以执行3次循环,i依次是0、1、2,data返回当前li的DOM对象。
var arr = ["a","b","c"];
$(arr).each(function(i,data){
alert(i);
alert(data)
});
如果是一个数组,则i依次返回0、1、2,data依次返回a、b、c。
2) $.each()方法
该方法主要用于遍历对象和数组。
第一个参数是被遍历的对象,第二个参数是匿名函数格式与each()相同
var arr = ["a","b","c"];
$.each(arr,function(i,data){
alert(i);
alert(data)
});
如果是一个数组,则i依次返回0、1、2,data依次返回a、b、c。
var arr = {
name:"jack",
age:"24",
show:function (){
alert(this.name);
}
};
$.each(arr,function(i,data){
alert(i);
alert(data)
});
如果是一个对象,则i放回方法名依次是name,age,show,data返回jack、24、function(){alert(this.name); }。
如果用each()是不可以遍历上述这个对象的。
$.each()和each()方法可以在匿名函数内返回true或者false。true等同于for循环的continue,false等同于break。
二、 size()和length
匹配当前元素的个数。
二者功能等价。
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
$(“ul li”).length; 返回3
$(“ul li”).size(); 返回3
三、 selector与context
1).selector属性
返回传给jquery的原始选择器,意思就是返回你用什么选择器来找这个元素的。
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
$(“ul li:gt(0)”).css(“color”,”red”);
$(“ul li:gt(0)”).selector; 返回string类型的ul li:gt(0)
2).context属性
返回传给jquery的原始DOM节点内容,也就是$()的第二个参数,没有默认是[object HTMLDocument];
alert($("li",document.querySelector("ul")).context);返回ul的DOM对象。
四、 get()方法和index()方法
1).get()方法
get(index)传递一个数字以0开始,返回当前对象的DOM节点对象,功能就是实现jquery对象向DOM对象的转换。
类似的有eq()方法,用法一样,功能选取当前对象集合的第几个对象,返回的是jquery对象。
2).index()方法
搜索匹配的元素,并返回当前元素的索引值,以0开始。找不到则返回-1。
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
$('li').index(document.getElementById('bar'));//1,传递一个DOM对象,返回这个对象在原先集合中的索引位置
$('li').index($('#bar')); //1,传递一个jQuery对象
$('li').index($('li:gt(0)')); //1,传递一组jQuery对象,返回这个对象中第一个元素在原先集合中的索引位置
$('#bar').index('li'); //1,传递一个选择器,返回#bar在所有li中的索引位置
$('#bar').index(); //1,不传递参数,返回这个元素在同辈中的索引位置。
jquery之对象访问
最新推荐文章于 2021-12-02 17:17:41 发布