0

以下は私の JavaScript コードです。私のコードを記述するためのより良い方法はありますか?私のコンセプトは良くないと思います。以下の「$」は「document.getElementById」を表します。 JQuery ではなく JavaScript。

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 を動作させる場合は、ほとんど CSS で行うことができます<body>。次に、次のような CSS ルールを作成できます。

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

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

等々。タグにクラス "condition1" がある場合、<body>クラス "hidden-when-1" を持つすべての要素が非表示になります。

于 2012-05-18T13:22:47.007 に答える
1

それらを div コンテナーにグループ化し、代わりに div を表示および非表示にすることができます。そうすればきれいになります。さらに、Jquery を調べることができます。これにより、よりクリーンなコードを書くことができます。

于 2012-05-18T13:23:47.043 に答える