定义和用法
map() 通过函数将每个元素传递给当前匹配集,生成一个包含返回值的新 jQuery 对象。
句型
.map(callback(index,domElement))
参数说明
回调(索引,domElement)
详细说明
由于返回值是 jQuery 封装的字段遍历jquery对象,因此使用 get() 处理返回的对象以获取基础字段。
.map() 方法对于获取或设置元素集的值很有用。请考虑以下带有一系列复选框的表单:
我们可以得到一个以冒号分隔的复选框 ID 列表:
$(':checkbox').map(function() { return this.id; }).get().join(',');
亲自尝试一下
此调用的结果是字符串:“二、四、六、八”。
在回调函数中遍历jquery对象,这是指每次迭代的当前 DOM 元素。该函数可以返回要插入到结果集中的单个数据项或数据项的字段。如果返回链表,则链表中的元素将插入到集合中。如果函数返回 null 或未定义,则不插入任何元素。
序言
一位同事问对象如何变成链表,当我问他为什么转向时,他告诉我链表可以在 js 循环中遍历,但对象不能。虽然,对象也可以在循环中遍历。您可以在不转换的情况下循环!这意味着你不是很精通JS或JSyIon的个别操作!这里简单介绍一下吧!
箱
让我们看一下以下对象:
var data={
张三:69,
李四:72,
王五:90,
二麻子:88,
前端博客:100,
haorooms : 98,
王大壮:99
}
如果在后台返回一个键,一个就是值对象(这些对象我相信你会时不时遇到!现在,您要将此内容循环到表中。有些学生不知道如何操作物体的循环!明天我就教你两条路!
方式1:
以 $.each 的形式循环!
如果你不知道$.each,我建议你在网上搜索。其实你也可以搜索“jQuery $().each, $.each 差异”,关于它们的差异,我这里就不详细描述了。有些同学可能会用$().each的方法遍历jquery对象,明天我主要给大家介绍$.each。
$.each() 可以遍历链表和对象。方法如下:
$.each([{“name”:”haorooms”,”email”:”bb@126.com”},{“name”:”qianduan”,”email”:”aa@hao.com”}],function(i,n)
{
alert(“索引:”+i,”对应值为:”+n.name);
});
它也可以像这样遍历:
var arr1 = [ “one”, “two”, “three”, “four”, “five” ];
$.each(arr1, function(){
alert(this);
});
输出:one two three four five
最酷的是你可以遍历链表:
var obj =data;//上面复制的data
$.each(obj, function(key, val) {
alert(obj[key]);//可以输出成绩
console.log(key);//可以输出姓名
});
方式2:
使用 forin 循环,您可以遍历 obj
关于使用forin循环链表,我之前也写过!参见:JavaScript Practical Approach, JS Trivia
文章二十九和三十七以上!
或者对于里面的对象,我们可以用forin这样写来循环!
for(var i in data){
console.dir(i);//输出姓名
console.dir(data[i]);//输出分数
}
其实要注意 js 方法文章中关于 forin 的注意事项,我们最好用 data.hasOwnProperty(i) 来判断对象!
福林循环相信你应该熟悉它!我们更多地使用的 for 循环是 for(vari=0; i
另外,如果我们满足以下情况:
var data={
张三:69,
李四:72,
王五:90,
二麻子:88,
前端博客:100,
haorooms : 98,
王大壮:99
}
我们可以用 data.haorooms 得到 98,当我们使用 “data.backend blog” 的时候会报错遍历jquery对象,所以当我们用汉字作为键值时,我们应该在选择的时候使用 data[“后端 blog”],这些方法被选中,不要用点。
好了,我明天就到这里,欢迎留言请大家原谅!