Javascript jQuery删除don';在映射集上运行时不工作

Javascript jQuery删除don';在映射集上运行时不工作,javascript,jquery,html,Javascript,Jquery,Html,我有这样的代码: $('#mb-history').on('click', '#post-edit .buttons .delete', function() { var files = $('.files input:checked').map(function() { return $(this).closest('.file'); }); var ids = files.map(function() { return $(this).da

我有这样的代码:

  $('#mb-history').on('click', '#post-edit .buttons .delete', function() {
    var files = $('.files input:checked').map(function() {
      return $(this).closest('.file');
    });
    var ids = files.map(function() {
      return $(this).data('id');
    }).get();
    console.log(ids);

    files.remove(); // this don't work

    return false;
  });
<div class="files ui-helper-clearfix" style="display: block;">
    ...
    <div class="file" data-id="13835">
      <img src="/thumb.php?src=moja-budowa%2F611%2FMB_Z3_611_13835.jpg&amp;size=90&amp;height=64&amp;nologo" alt="">
      <input type="checkbox">
    </div>
    ...
</div>
和files.remove()不工作,元素保留在DOM中。(console.log使用我选择的元素显示数组)。我的html如下所示:

  $('#mb-history').on('click', '#post-edit .buttons .delete', function() {
    var files = $('.files input:checked').map(function() {
      return $(this).closest('.file');
    });
    var ids = files.map(function() {
      return $(this).data('id');
    }).get();
    console.log(ids);

    files.remove(); // this don't work

    return false;
  });
<div class="files ui-helper-clearfix" style="display: block;">
    ...
    <div class="file" data-id="13835">
      <img src="/thumb.php?src=moja-budowa%2F611%2FMB_Z3_611_13835.jpg&amp;size=90&amp;height=64&amp;nologo" alt="">
      <input type="checkbox">
    </div>
    ...
</div>

...
...
我的代码怎么了?我正在使用jquery-1.8.2


我发现,我可以在设置后放置最近的地图,而不是地图:

var files = $('.files input:checked').closest('.file')

您必须具有用于删除或任何其他操作的
文件
引用..$。map()创建一个新数组。更改:

var files = $('.files input:checked').map(function() {
  return $(this).closest('.file');
});


您是否有可能创建一个显示问题的解决方案?虽然这也可行,但它不如提问者早期使用
最近('.file')
(如果层次结构可能发生变化)的解决方案健壮。@TrueBlueAussie是的,但更快“更快”只是一开始“慢”时的问题。这个例子是以用户输入速率发生的,所以在这种情况下,速度不如维护的容易程度重要。除非他立即将1000个条目标记为删除,否则您不会注意到任何差异:)