javascript if声明要做什么(javascript if statement to do-while)

我试图让这段代码在while循环而不是if中工作。 如果printLoad_#val为空,我需要显示num_#的每个瞬间。 因此,如果printLoad_1值= nothing,则不会显示Num_1,然后printLoad_2将检查其num_2是否为空,依此类推。 我遇到的问题是在检查每个部分之前函数停止。 我不确定do-while是否有用。

$(document).ready(function() { if(document.getElementById("printLoad_1").value == "") { document.getElementById('num_1').style.display = 'none'; } if(document.getElementById("printLoad_2").value == "") { document.getElementById('num_2').style.display = 'none'; } if(document.getElementById("printLoad_3").value == "") { document.getElementById('num_3').style.display = 'none'; } if(document.getElementById("printLoad_4").value == "") { document.getElementById('num_4').style.display = 'none'; } if(document.getElementById("printLoad_5").value == "") { document.getElementById('num_5').style.display = 'none'; } });

I am trying to get this snip of code to work in a while loop instead of an if. I need each instant of num_# to not be displayed if the printLoad_# val is empty. So if printLoad_1 value = nothing, the Num_1 would not be displayed, and then the printLoad_2 would check to see if its num_2 is empty and so on. The problem I am having is the function stops before checking each section. Im not sure if a do-while will work.

$(document).ready(function() { if(document.getElementById("printLoad_1").value == "") { document.getElementById('num_1').style.display = 'none'; } if(document.getElementById("printLoad_2").value == "") { document.getElementById('num_2').style.display = 'none'; } if(document.getElementById("printLoad_3").value == "") { document.getElementById('num_3').style.display = 'none'; } if(document.getElementById("printLoad_4").value == "") { document.getElementById('num_4').style.display = 'none'; } if(document.getElementById("printLoad_5").value == "") { document.getElementById('num_5').style.display = 'none'; } });

最满意答案

您是否考虑过只合成字符串而不是这种冗长的结构? 像这样的东西:

for( var i=1; i<=5; i++ ) { if( document.getElementById('printLoad_'+i).value === '' ) { document.getElementById('num_'+i).style.display = 'none'; } }

Have you considered just compositing the strings instead of this verbose construction? Something like this:

for( var i=1; i<=5; i++ ) { if( document.getElementById('printLoad_'+i).value === '' ) { document.getElementById('num_'+i).style.display = 'none'; } }javascript if声明要做什么(javascript if statement to do-while)

我试图让这段代码在while循环而不是if中工作。 如果printLoad_#val为空,我需要显示num_#的每个瞬间。 因此,如果printLoad_1值= nothing,则不会显示Num_1,然后printLoad_2将检查其num_2是否为空,依此类推。 我遇到的问题是在检查每个部分之前函数停止。 我不确定do-while是否有用。

$(document).ready(function() { if(document.getElementById("printLoad_1").value == "") { document.getElementById('num_1').style.display = 'none'; } if(document.getElementById("printLoad_2").value == "") { document.getElementById('num_2').style.display = 'none'; } if(document.getElementById("printLoad_3").value == "") { document.getElementById('num_3').style.display = 'none'; } if(document.getElementById("printLoad_4").value == "") { document.getElementById('num_4').style.display = 'none'; } if(document.getElementById("printLoad_5").value == "") { document.getElementById('num_5').style.display = 'none'; } });

I am trying to get this snip of code to work in a while loop instead of an if. I need each instant of num_# to not be displayed if the printLoad_# val is empty. So if printLoad_1 value = nothing, the Num_1 would not be displayed, and then the printLoad_2 would check to see if its num_2 is empty and so on. The problem I am having is the function stops before checking each section. Im not sure if a do-while will work.

$(document).ready(function() { if(document.getElementById("printLoad_1").value == "") { document.getElementById('num_1').style.display = 'none'; } if(document.getElementById("printLoad_2").value == "") { document.getElementById('num_2').style.display = 'none'; } if(document.getElementById("printLoad_3").value == "") { document.getElementById('num_3').style.display = 'none'; } if(document.getElementById("printLoad_4").value == "") { document.getElementById('num_4').style.display = 'none'; } if(document.getElementById("printLoad_5").value == "") { document.getElementById('num_5').style.display = 'none'; } });

最满意答案

您是否考虑过只合成字符串而不是这种冗长的结构? 像这样的东西:

for( var i=1; i<=5; i++ ) { if( document.getElementById('printLoad_'+i).value === '' ) { document.getElementById('num_'+i).style.display = 'none'; } }

Have you considered just compositing the strings instead of this verbose construction? Something like this:

for( var i=1; i<=5; i++ ) { if( document.getElementById('printLoad_'+i).value === '' ) { document.getElementById('num_'+i).style.display = 'none'; } }