HTML/jQuery toggle()元素在加载时不显示

HTML/jQuery toggle()元素在加载时不显示,jquery,html,Jquery,Html,我正在编写一个jQuery函数,它将选择/取消选择所有复选框。目前,我认为最好的方法是使用.toggle()方法。不幸的是,我无缘无故得到了奇怪的效果。加载DOM后,所选元素将消失。我找到的唯一有效解决方案是使用.show()/.fadeIn()函数。我使用.click()事件和几个if语句解决了这个问题(如果我可以使用.toggle();,这似乎是不必要的)。在浏览器开发人员的工具控制台中,我没有收到任何错误或警告。加载DOM后,第一个.toggle()函数将立即启动。以下是我使用的代码: 编

我正在编写一个jQuery函数,它将选择/取消选择所有复选框。目前,我认为最好的方法是使用
.toggle()
方法。不幸的是,我无缘无故得到了奇怪的效果。加载DOM后,所选元素将消失。我找到的唯一有效解决方案是使用.show()/.fadeIn()函数。我使用
.click()
事件和几个if语句解决了这个问题(如果我可以使用
.toggle();
,这似乎是不必要的)。在浏览器开发人员的工具控制台中,我没有收到任何错误或警告。加载DOM后,第一个.toggle()函数将立即启动。以下是我使用的代码:

编辑:哎呀。我发错代码了。现在修好了

HTML:

<input type="button" class="checkboxCheck" value="check all" disabled="disabled" />
<input type="button" class="addCheckbox" value="Add checkbox" />
$('input:button.addCheckbox').click(function(){
    $(this).after('<br /><input type="checkbox" />');
    if($(this).prev().attr('disabled')=='disabled'){
        $(this).prev().removeAttr('disabled');
    };
});

$('input:button.checkboxCheck').toggle(function(){
    alert(0);
},function(){
    alert(1);
});

jQuery:

<input type="button" class="checkboxCheck" value="check all" disabled="disabled" />
<input type="button" class="addCheckbox" value="Add checkbox" />
$('input:button.addCheckbox').click(function(){
    $(this).after('<br /><input type="checkbox" />');
    if($(this).prev().attr('disabled')=='disabled'){
        $(this).prev().removeAttr('disabled');
    };
});

$('input:button.checkboxCheck').toggle(function(){
    alert(0);
},function(){
    alert(1);
});
$('input:button.addCheckbox')。单击(函数(){
$(this.after(“
”); if($(this.prev().attr('disabled')='disabled')){ $(this.prev().removeAttr('disabled'); }; }); $('input:button.checkboxCheck').toggle(函数(){ 警报(0); },函数(){ 警报(1); });
当时我正在做这个,网站上根本没有使用CSS代码


为什么会发生这种情况,以及将来如何避免这种情况?

好吧,切换函数在JQuery 1.8中被弃用,在1.9版中被删除。JQuery有一个名为toggle的动画方法来更改元素的可见性

选择和取消选择所有复选框是一项常见任务。我会这样做:

$('.check_all').on('click', function () {
    $('.commom').prop('checked', function (i, val) {
        return !val;
    });
});
在这里查看:

我相信。toggle()将元素的css更改为显示:无

您说过第一个.toggle()将在加载DOM时触发,并且元素将在此时消失。这可以解释这种行为:


切换事件在jQuery 1.8中被弃用,在1.9中被删除。很抱歉,这有点离题,但它是否会反转复选框的值?我想过这样做(但是使用不同的代码,但是我喜欢你这样做的方式),但是我需要一个严格检查/取消选中它们的函数。复选框的值是什么意思?。它选中/取消选中了所有复选框,不是吗?对不起,我的意思是,它会反转复选框的状态(选中/取消选中)。