我是JS和Jquery的新手,我在理解某个功能方面遇到了一点困难,I.E。我想了解我在jquery文档中找到的一个非常简单的函数的执行顺序,如下所示(该示例也可以找到here.)::
HTML ::
<form method="post" action="">
<fieldset>
<div>
<label for="two">2</label>
<input type="checkbox" value="2" id="two" name="number[]">
</div>
<div>
<label for="four">4</label>
<input type="checkbox" value="4" id="four" name="number[]">
</div>
<div>
<label for="six">6</label>
<input type="checkbox" value="6" id="six" name="number[]">
</div>
<div>
<label for="eight">8</label>
<input type="checkbox" value="8" id="eight" name="number[]">
</div>
</fieldset>
</form>
JS ::
$( ":checkbox" )
.map(function() {
return this.id;
})
.get()
.join();
结果是::
"two,four,six,eight".
我理解上面的个人功能正在做什么,但是有人可以告诉我上面脚本的执行顺序.I.E。
map()
将个人id's
归还get()
?或者它是否循环遍历所有checkbox's
,然后立即传递所有id's
?
答案 0 :(得分:2)
这些函数依次执行,一旦完成,他们将结果交给下一个函数等。
相当于:
var first = $( ":checkbox" ).map(function() {
return this.id;
});
var second = first.get();
var third = second.join();
以上只是一个不需要额外变量的简写。
答案 1 :(得分:2)
是map()返回个人ID来获取()吗?或者它是否循环遍历所有复选框,然后立即传递所有ID
根据.map()
的文档,
通过函数传递当前匹配集中的每个元素,生成一个包含返回值
的新jQuery对象
答案:它循环遍历对象中的所有可用元素,并一次将id附加到数组中。从.map()
生成的数组是jquery对象。 .get()
将对象转换为值数组。
答案 2 :(得分:0)
订单就像你读的那样,我的意思是
1 -
$( ":checkbox" )
.map(function() {
return this.id;
})
2- get()
3- join()