jQuery的eq,get和map,each方法比较

2017-12-20  本文已影响40人  丶灰太狼他叔

1、eq()、get()

两个都是获取元素,而eq获取到的为jq对象,而get()获取的为js对象。

2、map(),each()

map()和each()都是用来遍历jq对象,都会返回一个数组。而each返回的是原来的数组,并不会返回新的数组。而map则会返回进行操作之后的新的数组。
所以,通常用map遍历数组和对象,如:拿到所以输入框的值,变成字符串,并传给后台。
而each通常用来处理拿到的jq对象数组,如给每个添加事件之类的。
map()应用实例

<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>

一、拿到所有input输入框的值并拼接为字符串,用逗号分隔。用于传给后台

var str = $(':checkbox').map(function() {
  return $(this).val();
}).get().join(',');

二、有时候我们需要以数组的形式拿到这些输入框的值

var arr = $(':checkbox').map(function() {
  return $(this).val();
});

去掉get().join(',')这个字符串拼接的方法即可。

上一篇下一篇

猜你喜欢

热点阅读