Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript代码优化_Javascript - Fatal编程技术网

JavaScript代码优化

JavaScript代码优化,javascript,Javascript,下面是我的javascript代码,有没有更好的方法来编写我的代码?我认为我的概念不太好。下面的“$”代表“document.getElementById”,为了更好地查看我使用的“$”,代码是javascript而不是JQuery function() { if (1) { $("AprEmail1").style.display = ""; $("chkApp1").style.display = ""; $("AprEmail2").

下面是我的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";
    }
}​

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

如果您的JavaScript通过在某个父元素(如
标记)上设置一个类(基于该条件)来处理这些不同的条件,那么您主要可以使用CSS来完成。然后,您可以拥有如下CSS规则

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

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

等等。当
标记具有类“condition1”时,所有具有类“hidden-When-1”的元素都将被隐藏。

您可以将它们分组到div容器中,然后显示和隐藏div。那会使它更干净。此外,您还可以研究Jquery。它允许您编写更简洁的代码

你确定那是你的密码吗?目前,您的第一个
if
子句将始终运行,因此您可以删除所有其他块。。。。。。剩下的就不会了。从来没有。@pimvdb:是的,实际上我删除了条件,因为它们太长了,无法在这里使用。我只需要一个更好的代码来删除重复的代码。