如果要遍历一个jQuery对象,对其中每个匹配元素进行相应的处理,那么可以使用each()方法。jq内核进行的是
隐式迭代
语法:$(“选择器”).each(function(index[,domelement]){
});
说明:对所有匹配选择器的元素逐个调用后面的函数。例如:$( "div" ).each(function(index,domele){
$(this).css("border" :"6px solid black");
});
1.在元素上存储数据
将数据存储在元素data方法的参数中语法:data(“变量名”,变量值);
例如:$(“p” ).data("flag",false);
$( "#btn2" ).click(function(){
if($( “p” ).data(“flag”)){
$(“p”).text("true" ).data("flag" ,false);}else{
$(“p” ).text("false" ).data("flag" ,true);
})
克隆方法:
clone()方法:不带参数,只复制元素,不会复制元素上绑定的事件和数据。
clone(true)方法:复制元素的同时,复制元素上绑定的事件和数据。
例如:$("p" ).data({ "test1" :true,"test2" :{first:1,last:"two"}});
创建变量test2且赋值
{first:1,last:" two"});
$("p:first").clone().insertAfter($("p:eq(O)" ));
$("p:first").clone(true).insertAfter($( "p:eq(1)"));
alert($( "p:eq(1)" ).data("test1"));
alert($( "p:eq(2)" ).data( "test1"));
3.removeData()方法
例如:例
如:$("p").data( "test1" ,true).data( "test2",{first:1,last:" two"});
创建变量test2且赋值{first:1,last:"two"});
$( "p" ).removeData("test1");
alert($( "p").data("test1" ));
alert($( "p" ).data( "test2" ).first);
alert($( "p" ).data)("test2" ).last);
如果要清除元素上的全部变量使用removeData()不带参数,等价的方法有remove()和empty()方法。
1.size()方法:计算jQuery对象中元素的个数。
例如:$("p" ).size();
2.index()方法:返回某个元素相对于其他兄弟元素的索引位置。
$(this).index();
2.要遍历对象的数据并进行操作
$.each(obj,fn(name,value))
例1:创建一个对象obj。使用$.each()方法遍历对象obj,将对象中每个属性名及值逐个在提示框中显示
var obj={one:1, two:2, three:3, four:4, five:5};
$.each(obj, function(name, value){
alert(name+":" +value);
});
⒉.对数组中数据项进行筛选,返回一个新数组
$.grep(arr,fn(数据项,索引)
例1:var arrOld=[9,2,7,5,6,4,10,3,8,1];
var arrNew=$.grep(arrOld, function(n, i){
return n>5&&i<6;
);
alert(arrNew);
3.要对数组中的数据项进行修改、删除、添加,来获得一个新的数组
$.map(arr,fn(数据项,索引))
例1:
var arrOld=[1,2,3];
var arrNew=$.map(arrOld, function(n, i){
return n+i;
});
alert(arrNew);
var arrOld = [2, 3, 4, 5, 6];
var arr1 = $.map(arrOld, function (n, i) {
return n;
})
var arr2 = $.map(arr2, function (n, i) {
return [n, n + 2];
})
console.log(arr2);
var arr3=$.msp(arrOld,function(n,i){
return n>2?n:null;
4.$.merge(arr1,arr2):把两个数组中的数据项合并在一起,来获得一个新数组,$.merge(arr1,arr2),参数arr1
和arr2为需要被合并的数组。使用$.merge()方法时,不会光返回数组合并的结果,而且会向数组arr1添加数组arr2的数
据项,从而改变了数组arr1。
例1.
var arrOld1=[1,2,3];
var arrOld2=[3,4,5];
var arrNew=$.merge(arrOld1, arrOld2);
alert(arrNew);
alert(arrOld1);
alert(arrOld2);
5.要在数组中搜索某个数据值,
$.inArray(value,arr)
var arr=[1,2,3];
alert($.inArray(3, arr));
alert($.inArray(4, arr));