Javascript get value仅使用.first有效,但如果我尝试使用.each循环每个项,它将不起任何作用

Javascript get value仅使用.first有效,但如果我尝试使用.each循环每个项,它将不起任何作用,javascript,jquery,Javascript,Jquery,我想能够选择多个图像时,按下上传按钮,并能够看到他们所有。目前,我制作了一个简化版本,希望在标签中看到图像的url。目前,我只能通过获取第一个或最后一个元素来完成: var media_attachment = meta_image_frame.state().get('selection').first().toJSON() meta_label.text(media_attachment.url) 但是我真的很想看到所有的url,所以在记住这些代码的同时,我尝试使用制作一个修改版本。每个版

我想能够选择多个图像时,按下上传按钮,并能够看到他们所有。目前,我制作了一个简化版本,希望在标签中看到图像的url。目前,我只能通过获取第一个或最后一个元素来完成:

var media_attachment = meta_image_frame.state().get('selection').first().toJSON()
meta_label.text(media_attachment.url)
但是我真的很想看到所有的url,所以在记住这些代码的同时,我尝试使用制作一个修改版本。每个版本如下:

var media_attachment = meta_image_frame.state().get('selection').each(function(){
  var media_attachment_tr = $(this).first().toJSON();
  meta_label.append(media_attachment_tr.url);
});
    meta_label.append(" isdone");
var media_attachment = meta_image_frame.state().get('selection').forEach(function(media){
  var media_attachment_tr = media.toJSON();
  meta_label.append(media_attachment_tr.url);
});

但是这没有任何作用,即使是“isdone”部分也没有附加到代码中,我不知道为什么会发生这种情况。有一种方法可以使它可靠吗?

您使用的是
。每个
都是错误的。接受2个参数。第一个是要迭代的对象,第二个是回调,请参见文档中的示例:

$。每个([52,97],函数(索引,值){
警报(索引+“:”+值);
});
此外,回调函数还接受两个参数,您可以在函数体中使用它们:它所迭代的对象的索引和项的值

如果您想使用jQuery的
。每个
,您需要重新构造代码,但我建议改用它,它与您的代码中的代码类似。您只需要在回调函数中添加一个或两个参数——第一个是列表中的当前项,第二个是索引(可选)

您的代码(不保证功能)可能如下所示:

var media_attachment = meta_image_frame.state().get('selection').each(function(){
  var media_attachment_tr = $(this).first().toJSON();
  meta_label.append(media_attachment_tr.url);
});
    meta_label.append(" isdone");
var media_attachment = meta_image_frame.state().get('selection').forEach(function(media){
  var media_attachment_tr = media.toJSON();
  meta_label.append(media_attachment_tr.url);
});

您正在使用
。每个
都是错误的。接受2个参数。第一个是要迭代的对象,第二个是回调,请参见文档中的示例:

$。每个([52,97],函数(索引,值){
警报(索引+“:”+值);
});
此外,回调函数还接受两个参数,您可以在函数体中使用它们:它所迭代的对象的索引和项的值

如果您想使用jQuery的
。每个
,您需要重新构造代码,但我建议改用它,它与您的代码中的代码类似。您只需要在回调函数中添加一个或两个参数——第一个是列表中的当前项,第二个是索引(可选)

您的代码(不保证功能)可能如下所示:

var media_attachment = meta_image_frame.state().get('selection').each(function(){
  var media_attachment_tr = $(this).first().toJSON();
  meta_label.append(media_attachment_tr.url);
});
    meta_label.append(" isdone");
var media_attachment = meta_image_frame.state().get('selection').forEach(function(media){
  var media_attachment_tr = media.toJSON();
  meta_label.append(media_attachment_tr.url);
});

你已经检查过控制台的错误了吗?你已经检查过控制台的错误了吗?谢谢你的解释,foreach工作得很好,做了一些修改。我仍然需要使用JavaScript进行练习感谢您的解释,foreach工作得很好,但做了一些修改。我仍然需要练习javascript