javascript - 使用 .prop() 创建全选复选框,但不希望删除该复选框

标签 javascript jquery checkbox

因此,我创建了一个全选复选框来选择和取消选择我的列表。 一切都很好,但是当我删除列表时,它也会删除全选复选框。 请告诉我我做错了什么。 这是代码:

HTML:

         <div class="item-list">
                <H2>Shopping List</H2>              
                <ul class="check-list">
                    <li><input type="checkbox" id="select-all"/>Select All</li>
                </ul>
            </div>

jQuery:

$(document).ready(function(){

    $(".add-btn").click(function (){
        var addItem = $('#item-add').val();
        $(".check-list").append('<li ><input type="checkbox" class="check-box">' + addItem + '</li>');
    });

    $('#select-all').change(function(){
        $('.check-box').prop('checked', $(this).prop('checked'));
    });

    $(".rem-btn").click(function(){
        $(".check-list input:checked").parent().remove();
    });

}); 

最佳答案

如果您想在执行删除操作时排除全选复选框。 $.fn.not()可用于从 $(".check-list input:checked") 元素中排除复选框。

Remove elements from the set of matched elements.

使用

$(".check-list input:checked").not('#select-all').parent().remove();

或者,:not selector也可以使用

Selects all elements that do not match the given selector.

$(".check-list input:checked:not(#select-all)").parent().remove();

关于javascript - 使用 .prop() 创建全选复选框,但不希望删除该复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32601375/

相关文章:

javascript - 前端网页开发

javascript - 使用 Javascript 正则表达式对我的对象进行分类

javascript - 如何使 jQuery 方法在 for 循环中工作?

javascript - 在主文件夹和子文件夹中搜索 .mp3 文件

css - 在移动设备上查看时缺少自定义 CSS 复选框边距

javascript - 如果其中一个属性包含特定值,则删除数组元素

javascript - knockout View 模型日期 -> MVC 4 View 模型未在发布时转换

javascript - 对函数变量的 JavaScript 控制台日志输出感到困惑

jquery - 使用 if/else 显示/隐藏带复选框的 div

javascript - 选择标题复选框时选择所有复选框