您的位置:首页 > Web前端 > JQuery

jquery之对象访问

2016-01-05 10:37 513 查看

                   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,不传递参数,返回这个元素在同辈中的索引位置。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: