0

以下是我的javascript代码,有没有更好的方法来编写我的代码?我认为我的概念不好。下面的'$'代表'document.getElementById',为了更好地查看我正在使用'$',代码是JavaScript 不是 JQuery。

function() {
    if (1) {
        $("AprEmail1").style.display = "";
        $("chkApp1").style.display = "";
        $("AprEmail2").style.display = "";
        $("chkApp2").style.display = "";
        $("chkApp2").disabled = false;
        $("AprEmail3").style.display = "";
        $("chkApp3").style.display = "";
        $("chkApp3").disabled = false;
    }
    else if (2) {
        $("AprEmail1").style.display = "";
        $("chkApp1").style.display = "";
        $("AprEmail2").style.display = "";
        $("chkApp2").style.display = "";
        $("chkApp2").disabled = true;
        $("AprEmail3").style.display = "";
        $("chkApp3").style.display = "";
    }
    else if (3) {
        $("AprEmail1").style.display = "";
        $("chkApp1").style.display = "";
        $("AprEmail2").style.display = "";
        $("chkApp2").style.display = "";
        $("chkApp2").disabled = true;
        $("AprEmail3").style.display = "";
        $("chkApp3").style.display = "";
        $("chkApp3").disabled = true;
    }
    else {
        $("AprEmail1").style.display = "none";
        $("chkApp1").style.display = "none";
        $("AprEmail2").style.display = "none";
        $("chkApp2").style.display = "none";
        $("AprEmail3").style.display = "none";
        $("chkApp3").style.display = "none";
    }
}​
4

2 回答 2

1

是的,有更好的方法。根据您应用的谓词,在您的元素上使用类值以对应于它们的关系,然后让代码按类而不是按 id 操作。

如果您的 JavaScript 通过在某些元素(如<body>标签)上设置类(基于条件)来处理这些不同的条件,则可以主要使用 CSS 来完成。然后,您可以拥有看起来像的 CSS 规则

.condition1 .hidden-when-1 { display: none; }

.condition2 .hidden-when-2 { display: none; }

等等。当<body>标签的类别为“condition1”时,所有类别为“hidden-when-1”的元素都将被隐藏。

于 2012-05-18T13:22:47.007 回答
1

您可以将它们分组到 div 容器中,然后改为显示和隐藏 div。这样会更干净。此外,您可以查看 Jquery。它允许您编写更简洁的代码。

于 2012-05-18T13:23:47.043 回答