jQuery根据索引删除复选框

jQuery remove checkbox based on index

本文关键字:删除 复选框 索引 jQuery      更新时间:2023-09-26

我有以下jQuery代码:

工作代码

if(report==='Group 1'){
    $('.spandiv').not(':eq(17)').remove();
}

这可以很好地工作,并删除所有不等于17的复选框。然而,我现在要做的只是删除某些复选框。

我尝试过以下几种:

非工作代码

if(report==='Group 1'){
    $('.spandiv').is(':eq(17)').remove();
    $('.spandiv').is(':eq(16)').remove();
    $('.spandiv').is(':eq(12)').remove();
    $('.spandiv').is(':eq(6)').remove();
    $('.spandiv').is(':eq(5)').remove();
    $('.spandiv').is(':eq(4)').remove();
}

我曾以为(显然是错误的(这会奏效,但事实并非如此。我显然做错了什么,如果有任何反馈/帮助,我将不胜感激。

如果选择器与所选元素匹配,则.is方法将返回布尔值truefalse。您正在寻找.eq方法或:eq选择器(或最后一种情况下的.filter(:
$('.spandiv:eq(17)').remove();  // this is the same as
$('.spandiv').eq(17).remove();  // this and the same as
$('.spandiv').filter(':eq(17)').remove();  // this
$('.spandiv:eq(17)').remove();
$('.spandiv:eq(16)').remove();
$('.spandiv:eq(12)').remove();
$('.spandiv:eq(6)').remove();
$('.spandiv:eq(5)').remove();
$('.spandiv:eq(4)').remove();

is函数只是一个布尔检查。你也可以用.filter().eq()代替它:

$('.spandiv').eq(17).remove();
$('.spandiv').eq(16).remove();
$('.spandiv').eq(12).remove();
$('.spandiv').eq(6).remove();
$('.spandiv').eq(5).remove();
$('.spandiv').eq(4).remove();