写js过程中遇到的一个bug

时间:2023-03-08 17:49:41

<div class="func_Div" id="xxcx"><span>信息查询</span>&nbsp;&nbsp;&nbsp;
            <img alt="展开/收缩" src="Images/face/fasttrack_expansion.png" onclick="change('xxcx')"/>
        </div>

在js里这样写:

function change(str) {
//debugger;
//var strDiv = jQuery("." + str + "_div"); alert(str)
if (strDiv.css('display') == 'none') {
strDiv.css('display', 'block');
jQuery('#' + str).find('img').attr('src', 'Images/face/fasttrack_shrink.png').end()
.css('background-image ', 'url(../Images/face/group.jpg)');
debugger;
jQuery('.kjfx_div,.xxcx_div,.fzgj_div').filter(function () { $(this).class != "." + str + "_div" }).css('display', 'none');
jQuery('#kjfx,#xxcx,#fzgj').filter(function () { $(this).id != str }).find('img')
.attr('src', 'Images/face/fasttrack_expansion.png')
.end()
.css('background-image', 'url(../Images/face/fasttrack_bg.jpg)'); }
else {
strDiv.css('display', 'none');
jQuery('#' + str).find('img').attr('src', 'Images/face/fasttrack_expansion.png').end()
.css('background-image ', 'url(../Images/face/fasttrack_bg.jpg)');
}
}

  运行后,出现下面的错误:

写js过程中遇到的一个bug

在我对js的理解,我认为这个错误怎么都不会发生。change()方法在js里明明已经定义了,参数传递也没有错误,但是这个错误就是出现了。重启vs,重启电脑后还是这个错误,而且用google运行的话不报错误,但是google运行发现change()里面的jQuery写的功能也没起作用。但是我把change()方法里面的jQuery代码屏蔽后发现,alert()方法起作用了。就是说不出现上面的错误,可以进入change方法。这样的话得出的结论是:change()方法里面的jQuery代码有问题。当js中函数里面的js代码存在错误时,可以导致vs调试无法进入到函数里面,而且报的错误是上面的错误,让人无法理解的错误。

相关文章