永发信息网

jquery map和get方法理解?

答案:2  悬赏:40  手机版
解决时间 2021-03-07 02:50
  • 提问者网友:寂寞梧桐
  • 2021-03-06 07:52
var prices=$inventory.find('td:nth-child(3)')
.map(function(index,qty){
return $(qty).text();
}).get();

问:我知道get()用于获取文档元素,但放在这里是何意? map具体返回什么?
最佳答案
  • 五星知识达人网友:梦中风几里
  • 2021-03-06 08:59
1.代码如下:

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。
全部回答
  • 1楼网友:青灯有味
  • 2021-03-06 10:34
$(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); });<p> </p> &lt;table border="1" id="inventory"&gt; &lt;tr&gt;&lt;td&gt;iphone&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;¥200&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;iphone&lt;/td&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;¥260&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;iphone&lt;/td&gt;&lt;td&gt;6&lt;/td&gt;&lt;td&gt;¥130&lt;/td&gt;&lt;/tr&gt; &lt;/table&gt;
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯