2011-12-01 38 views
3

这里是我的代码部分:的JavaScript /萤火跳过线

1 if (document.forms[0]["displayAddress"].value == "true") { 
2 if (document.forms[0]["addressPresent"].value == "") { 
3  $("#addressDiv").show(); 
4  document.forms[0]["addressPresent"].value = "true"; 
5 } 
6 } 

为什么萤火虫跳过3行? - 在dubug模式下,它甚至不会突出显示该行,只是跳到下一行。

编辑:为了澄清,第2行的计算结果为true,调试器直接进入第4行而不执行第3行。我尝试了强制刷新。

更新:第一次页面加载这个JS的作品,页面被重新装入后,我得到这个问题

回答

1

你确定条件

(document.forms[0]["addressPresent"].value == "") 

计算结果为真?

如果确实如此,它只是跳转到第4行,你评估它实际上是否正在执行第3行?这可能是Firebug中的调试器正在跳过它。你有没有试图突破这条线?

试着打破这条线。

+0

对不起,我应该更好地解释。是表达式evalutes为true,并且调试器跳过第3行(没有突出显示)并且在if 2行后直接跳到第4行。第4行执行并且第3行没有执行 –

1

我曾经有过萤火虫有时跟我有点不习惯。通常完全关闭Firefox和Firebug将解决这个问题。如果您需要第二种意见,请尝试Chrome的调试器。

+0

尝试重新启动 –

0

我最终放弃了这个,并重新编写了整个方法。现在起作用了。奇怪的事情正在发生。