jQuery从没有循环的数组中的多个元素的类属性获取值

rik*_*han 2 javascript arrays jquery

我有多个具有单个类的Select下拉元素 .select

<select class='select' name='select1' id='select1'>
  <option value='1'>1</option>
  <option value='2'>2</option>
  <option value='3'>3</option>
</select>

<select class='select' name='select2' id='select2'>
  <option value='4'>4</option>
  <option value='5'>5</option>
  <option value='6'>6</option>
</select>

<select class='select' name='select3' id='select3'>
  <option value='7'>7</option>
  <option value='8'>8</option>
  <option value='9'>9</option>
</select>
Run Code Online (Sandbox Code Playgroud)

我知道这可以通过这样的循环来实现

var arr = [];
$('.select').each(function () {
   arr.push($(this).val());
});
Run Code Online (Sandbox Code Playgroud)

但是我已经在代码中有这么多循环了,我想知道如果没有循环它是否可以实现

小提琴:http://jsfiddle.net/89cJC/

ade*_*neo 9

不,没有其他方法可以从多个元素中获取值,您必须迭代元素以从每个元素中获取值.

还有其他方法可以编写基本相同的代码

var arr = $.map($('.select'), function (el) { return el.value; });
Run Code Online (Sandbox Code Playgroud)

或没有jQuery

var elems = document.querySelectorAll('.select'),
    arr   = [];

for (var i=elems.length; i--;) arr.push(elems[i].value);
Run Code Online (Sandbox Code Playgroud)

但他们都在迭代,没有其他办法可以做到这一点.