更改获取jQuery中元素的方式后,toggleClass不起作用

时间:2019-01-11 21:51:36

标签: jquery

嗨,我有一个功能,可以单击切换“ +”和“-”符号的图像,然后显示或隐藏面板。如果我直接在函数中使用id,它就可以工作。但是,我需要将函数修改为具有控件ID的参数,因此它使函数更具动态性。修改代码后,“ +”和“-”符号仍然有效,但面板未显示。有人会告诉我如何更正我的代码。预先感谢。

以下代码有效:

 function ViewPhotoList( ){


            var hd=$("#hdShowPicList").val();
            if (hd == "show") {                
                $("#hdShowPicList").val('hide');
                $("#imgPicListSign").attr("src", imgPlus);                   

            } else {                   
                $("#imgPicListSign").attr("src", imgMin);
                $("#hdShowPicList").val('show');                   
            }
            $("#pnlPhotGird").toggleClass('hide','show');

        }

下面的代码可以更改符号,但面板未显示

 function ShowHide(hdID, imgID, pnlID){                

            var hd=$('#'+hdID);
            var hdValue=hd.val();                
            var img= $('#'+imgID);               
            var pnl=$('#'+pnlID);               
            if (hdValue == "show") {                
              hd.val('hide');
                img.attr("src", imgPlus);   
            } else {                   
                img.attr("src", imgMin);
               hd.val('show');                   
            }
            pnl.toggleClass('hide','show');               

        }

1 个答案:

答案 0 :(得分:0)

错误可能在代码的最后一行:

pnl.toggleClass('hide',(hdValue == "show"));