带有Array的jQuery .each()

Joh*_*ain 6 arrays each jquery

基本上,我试图收集具有特定类的每个元素的ID,并将这些ID放入数组中.我正在使用jQuery 1.4.1并尝试使用.each(),但是并不真正理解它或如何将数组传递出函数.

$('a#submitarray').click(function(){

    var datearray = new Array();

    $('.selected').each(function(){
        datearray.push($(this).attr('id'));
    });

    // AJAX code to send datearray to process.php file

});
Run Code Online (Sandbox Code Playgroud)

我相信我已经离开了,因为我对此很陌生,所以任何建议帮助都会很棒.谢谢!

Poi*_*nty 12

你也可以用map():

$('a#submitarray').click(function(){

  var datearray = $('selected').map(function(_, elem) {
    return elem.id;
  }).get(); // edited to add ".get()" at the end; thanks @patrick
  // ajax

});
Run Code Online (Sandbox Code Playgroud)

map()方法将每个索引(我的示例不使用)和元素传递给给定的函数,并根据返回值为您构建数组.

  • @Pointy - 我喜欢`map()`!只是不要忘记在最后链接`.get()`,否则`datearray`将包含一个jQuery对象而不仅仅是数组. (2认同)

3ur*_*och 0

对我来说一切看起来都很好,该数组将被填充并在您放置评论的地方可用。对自己有信心。