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&size=90&height=64&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&size=90&height=64&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个条目标记为删除,否则您不会注意到任何差异:)