JQuery .show()方法在.hide之后不起作用。

11 浏览
0 Comments

JQuery .show()方法在.hide之后不起作用。

我正在使用一个名为"adminCheckBox"的JQuery脚本,根据复选框是否选中来显示或隐藏屏幕上的各种对象。

隐藏功能正常工作。但是,在元素被隐藏后,当我再次点击复选框时,元素不会再次出现。是否有任何关于这个问题的想法?谢谢。

$(document).ready(function(){
$(".adminCheckbox").click(function(){
           if(!document.getElementsByClassName("adminCheckBox").checked){
            $(".deleteImageButton").hide(500);
            $(".addHeading").hide(500);
            $(".deleteHeadingButton").hide(500);
            $(".fileUpload").hide(500);
            $(".fileUploadSubmit").hide(500);    
           }else{
            $(".deleteImageButton").show();
            $(".addHeading").show();
            $(".deleteHeadingButton").show();
            $(".fileUpload").show();
            $(".fileUploadSubmit").show();    
           }    
        }); 
        });

以下是相关复选框的HTML代码。

          管理员控制

0
0 Comments

JQuery .show()方法在.hide()方法之后不起作用的原因是因为document.getElementsByClassName("adminCheckBox")返回的是一个数组,而不是单个元素。因此,checked属性将无法定义。解决方法是使用document.getElementsByClassName("adminCheckBox")[0]来获取第一个元素,或者正确地遍历数组。

0
0 Comments

JQuery .show()方法在.hide()之后不起作用的原因是使用了错误的事件处理器。解决方法是使用.change()事件处理器代替.click(),并使用.toggle()方法来隐藏和显示按钮。

根据jQuery API的说明,change事件是在元素的值改变时发送的。该事件仅限于元素、