Javascript jQuery检查检测,隐藏上一个(JSFIDLE)

Javascript jQuery检查检测,隐藏上一个(JSFIDLE),javascript,jquery,Javascript,Jquery,我试图删除带有复选框的文本字段,如JSFIDLE中所示。但是,如您所见,其中一个框被选中,但其相应的文本字段存在。有人能帮我编辑此文件,使其隐藏加载时已检查项目的相应文本字段吗 谢谢 试试这个: 哇给你。因为您已经点击了dom for all.check,所以您可以将结果筛选为当前处于:checked状态的结果,并隐藏上一个元素 $(document).ready(function() { $('.check').click(function() { $(this).pr

我试图删除带有复选框的文本字段,如JSFIDLE中所示。但是,如您所见,其中一个框被选中,但其相应的文本字段存在。有人能帮我编辑此文件,使其隐藏加载时已检查项目的相应文本字段吗

谢谢

试试这个:


给你。因为您已经点击了dom for all.check,所以您可以将结果筛选为当前处于
:checked
状态的结果,并隐藏上一个元素

$(document).ready(function() {
    $('.check').click(function() {
        $(this).prev().toggle();
    }).filter(':checked').each(function(){
        $(this).prev().hide();
    });
});

您正在选中带有
已选中属性的复选框,但没有代码可以查找以这种方式设置的复选框

$('.check').each(function() {
    if ($(this).is(':checked'))
        $(this).prev('.date').toggle();
});

这是最新的小提琴

优化版本:


什么时候两个DOM查找比一个简单我喜欢你的热情。不过,谢谢大家。
$('.check').each(function() {
    if ($(this).is(':checked'))
        $(this).prev('.date').toggle();
});
$(document).ready(function() {
    $('.check').click(function() {
        $(this).prev().toggle();
    });
    // toggle already checked boxes
    $(':checked').each(function() {
        $(this).prev().toggle();
    })
});
$(document).ready(function() {
    function toggle() {
        $(this).prev().toggle();
    }
    $('.check').click(toggle);
    // toggle already checked boxes
    $(':checked').each(toggle);                
});