jquery map和get方法理解?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery map和get方法理解?相关的知识,希望对你有一定的参考价值。
var prices=$inventory.find('td:nth-child(3)')
.map(function(index,qty)
return $(qty).text();
).get();
问:我知道get()用于获取文档元素,但放在这里是何意? map具体返回什么?
var arrayObj=["www","xxx","ddd"];
var ww=$.map(arrayObj,function(i)
return i;
).join(",");
console.log(ww);
var tt=$(":checkbox").map(function()
return this.value;
).get().join(",");
console.log(tt);
2.jQuery下有个概念叫“类数组”,比如$(":checkbox"),
当取到一个集合的时候,会有数组的一些属性,但是instancseof Array仍然是false。但是var a=$( "li"
).get()这样处理一下,然后instancseof Array就返回true。
3.map()的功能主要有两步,第一步就是遍历,第二步就是替换。
4.instanceof和typeof都能用来判断一个变量是否为空或是什么类型的变量。
typeof用以获取一个变量的类型,typeof一般只能返回如下几个结果:number,boolean,string,function,object,undefined。 可以使用typeof来获取一个变量是否存在,如if(typeof
a!="undefined"),而不使用if(a)因为如果a不存在(未声明)则会出错,对于Array,Null等特殊对象使用typeof
一律返回object,这是typeof的局限性。
5.如果我们希望获取一个对象是否是数组,或判断某个变量是否是某个对象的实例则要选择使用instanceof。instanceof用于判断一个变
量是否某个对象的实例,如var a=new Array();alert(a instanceof
Array);会返回true,同时alert(a instanceof
Object)也会返回true;这是因为Array的prototype是Object。再如:function test();var
a=new test();alert(a instanceof test)会返回true。 参考技术A $(function()
var $inventory = $("#inventory");
var prices = $inventory
// 获取 table 中每行第三个 td
.find(\'td:nth-child(3)\')
// 使用 map 对每一个 td 进行处理
// function 为回调函数, index 为键值
// qty 为每个元素中的此元素
// 此回调函数返回每个元素的 text
// map 将返回对象集合
// Object["¥200", "¥260", "¥130"]
.map(function(index, qty)
return $(qty).text();
)
// 将对象集合转换为数组
.get();
// 数组:["¥200", "¥260", "¥130"]
console.log(prices);
);
<tr><td>iPhone</td><td>4</td><td>¥200</td></tr>
<tr><td>iPhone</td><td>5</td><td>¥260</td></tr>
<tr><td>iPhone</td><td>6</td><td>¥130</td></tr>
</table>本回答被提问者采纳
以上是关于jquery map和get方法理解?的主要内容,如果未能解决你的问题,请参考以下文章
理解jQuery中$.get$.post$.getJSON和$.ajax的用法