具有不同变量和关联 ID 的 JavaScript If 条件

标签 javascript if-statement

我创建了一个 if 条件,但我想检查多个变量。该变量属于不同的 id,如下所示。

是否可以优化代码,因为我不想复制过去并更改变量。

if (T11 > 33){
    document.getElementById("T11").innerHTML = '-';
}
else if(T11 > 2){
    document.getElementById("T11").innerHTML = T11-30;
    document.getElementById("T11").style.textDecoration = 'underline';
}
else {
    document.getElementById("T11").innerHTML = T11;
    }



if (T12 > 33){
        document.getElementById("T12").innerHTML = '-';
    }
    else if(T12 > 2){
        document.getElementById("T12").innerHTML = T12-30;
        document.getElementById("T12").style.textDecoration = 'underline';
    }
    else {
        document.getElementById("T12").innerHTML = T12;
        }



if (T.. > 33){
        document.getElementById("T..").innerHTML = '-';
    }
    else if(T.. > 2){
        document.getElementById("T..").innerHTML = T..-30;
        document.getElementById("T..").style.textDecoration = 'underline';
    }
    else {
        document.getElementById("T..").innerHTML = T..;
        }

请提出建议。

最佳答案

T1T33 应该是 t,其中 t 是一个数组 。然后一个循环即可完成此操作。如果 T1T33 不能 成为一个数组(但我无法想象为什么他们不能),你可以创建一个首先是它们的临时数组:

var t = [T1, T2, T3, T4, ... ];

但是,实际上,您根本不应该拥有 T1T33;只是t

一旦你有了t,你就可以使用forEach:

t.forEach(function(val, index) {
   var element = document.getElementById("T" + (index + 1));
   if (val > 33){
        element.innerHTML = '-';
    }
    else if (t[n] > 2){
        element.innerHTML = val - 30;
        element.style.textDecoration = 'underline';
    }
    else {
        element.innerHTML = val;
    }
});

...但是如果你想要一个 for 循环:

for (var n = 0; n < t.length; ++n) {
   var val = t[n];
   var element = document.getElementById("T" + (n + 1));
   if (val > 33){
        element.innerHTML = '-';
    }
    else if (t[n] > 2){
        element.innerHTML = val - 30;
        element.style.textDecoration = 'underline';
    }
    else {
        element.innerHTML = val;
    }
}

关于具有不同变量和关联 ID 的 JavaScript If 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45439760/

相关文章:

asp.net - 远程加载 extJS 组合不起作用

javascript - 需要帮助理解 Javascript 中的 + 运算符

javascript - 如何确保Else语句保留在同一个html页面上?

javascript - 如何访问数组 Javascript 中的对象

javascript - window.onload 和预期的行为

javascript - 在 Mozilla Firefox 中损坏的 Foundation Accordion 面板上的选择元素

python - "if"命令仅运行一次且不重复

java - 字符串比较结果 b/w == 和 String#replace with == 的区别

javascript - JavaScript 中的全局变量如何工作?

java - 带有嵌套 if/else 语句的 While 循环