对照数组JQuery中的值检查所有元素

对照数组JQuery中的值检查所有元素,jquery,each,Jquery,Each,.list_body数据属性保存作业id引用 如果数组返回数据中不包含作业id,则需要删除特定的.list\u body div 不确定.each函数是否是这里的最佳实践,因为即使作业id在数组中,当前它似乎也会删除一个div。试试看 $('.list_body').each(function(){ var job_no = $(this).data('job_id'); if($.inArray(job_no, return_data)) { $.noop

.list_body数据属性保存作业id引用

如果数组返回数据中不包含作业id,则需要删除特定的.list\u body div

不确定.each函数是否是这里的最佳实践,因为即使作业id在数组中,当前它似乎也会删除一个div。

试试看

$('.list_body').each(function(){
     var job_no = $(this).data('job_id');
     if($.inArray(job_no, return_data)) {
         $.noop();
     }
     else {
         $(this).closest('div.list_body').remove();
     }
});
演示:

更好的解决办法是

var return_data = [2]

$('.list_body').each(function(){
    var job_no = $(this).data('job_id');
    if($.inArray(job_no, return_data) > -1) {
        $(this).closest('div.list_body').remove();
    }
});
演示:

试试看

$('.list_body').each(function(){
     var job_no = $(this).data('job_id');
     if($.inArray(job_no, return_data)) {
         $.noop();
     }
     else {
         $(this).closest('div.list_body').remove();
     }
});
演示:

更好的解决办法是

var return_data = [2]

$('.list_body').each(function(){
    var job_no = $(this).data('job_id');
    if($.inArray(job_no, return_data) > -1) {
        $(this).closest('div.list_body').remove();
    }
});
演示:

首先,$.inArray在未找到时返回-1,因此存在直接的逻辑缺陷。其次,这是指要删除的元素,因此使用相同的选择器查找最近的元素是多余的。试试这个:

$('.list_body').filter(function(idx, el){
    return $.inArray($(this).data('job_id'), return_data) > -1;
}).remove();
首先,$.inArray在未找到时返回-1,因此存在直接的逻辑缺陷。其次,这是指要删除的元素,因此使用相同的选择器查找最近的元素是多余的。试试这个:

$('.list_body').filter(function(idx, el){
    return $.inArray($(this).data('job_id'), return_data) > -1;
}).remove();

您还需要显示HTML,$.inArray返回-1(如果它不在数组中),因此,如果作业id是数组中的第一个,那么元素仍将被删除。如果它不在数组中,-1仍然是真实的。您还需要显示HTML和$。如果它不在数组中,inArray将返回-1,因此如果job_id是数组中的第一个元素,则该元素仍将被删除。如果它不在数组中,-1仍然是真的。