我是JavaScript和jQuery的新手(提前抱歉)。我试图将下面的脚本转换为循环。任何建议都会很棒。我想设置第一个变量" flag1"循环1-5并在数组(arr1)循环中间数字1-5而不是写5组。
<script type="text/javascript">
{
var flag1 = ^f('flaghigh_1').get()^;
var arr1=['#QE1_1_1','#QE1_1_2','#QE1_1_7','#QE1_1_99'];
for(var i=0;i<arr1.length;i++)
{
if(flag1 == '1')
{ $(arr1[i]).parent().addClass("confirmit-cellerror"); }
else
{ $(arr1[i]).parent().removeClass("confirmit-cellerror"); }
}}
</script>
<script type="text/javascript">
{
var flag2 = ^f('flaghigh_2').get()^;
var arr1=['#QE1_2_1','#QE1_2_2','#QE1_2_7','#QE1_2_99'];
for(var i=0;i<arr1.length;i++)
{
if(flag2 == '1')
{ $(arr1[i]).parent().addClass("confirmit-cellerror"); }
else
{ $(arr1[i]).parent().removeClass("confirmit-cellerror"); }
}}
</script>
<script type="text/javascript">
{
var flag3 = ^f('flaghigh_3').get()^;
var arr1=['#QE1_3_1','#QE1_3_2','#QE1_3_7','#QE1_3_99'];
for(var i=0;i<arr1.length;i++)
{
if(flag3 == '1')
{ $(arr1[i]).parent().addClass("confirmit-cellerror"); }
else
{ $(arr1[i]).parent().removeClass("confirmit-cellerror"); }
}}
</script>
<script type="text/javascript">
{
var flag4 = ^f('flaghigh_4').get()^;
var arr1=['#QE1_4_1','#QE1_4_2','#QE1_4_7','#QE1_4_99'];
for(var i=0;i<arr1.length;i++)
{
if(flag4 == '1')
{ $(arr1[i]).parent().addClass("confirmit-cellerror"); }
else
{ $(arr1[i]).parent().removeClass("confirmit-cellerror"); }
}}
</script>
答案 0 :(得分:0)
你是说这个?:
for(const n of [1, 2, 3, 4]) {
const flag = f(`flaghigh_${n}`).get();
const arr = [`#QE1_${n}_1`, `#QE1_${n}_2`, `#QE1_${n}_7`, `#QE1_¢{n}_99`];
for(const el of arr) {
if(flag === '1') {
$(el).parent().addClass("confirmit-cellerror");
} else {
$(el).parent().removeClass("confirmit-cellerror");
}
}
}
这使用简单的for..of
循环和模板文字。