2012-05-18 3 views
1

다음은 자바 스크립트 코드입니다. 내 코드를 작성하는 좋은 방법이 있습니까? 내 개념이 좋지 않다고 생각합니다. 아래의 '$'는 'document.getElementById'를 나타냅니다. $ '이고, 코드는 JQuery가 아닌 JavaScript입니다.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

http://codereview.stackexchange.com – Matt

+2

코드가 맞습니까? 그대로, 첫 번째'if' 절이 항상 실행되므로 다른 모든 블록을 제거 할 수 있습니다 ... – pimvdb

+0

... 나머지는 그렇지 않습니다. 못. – VisioN

답변

1

네, 더 좋은 방법이 있습니다. 적용 할 술어에 따라 요소에 대한 클래스 값을 사용하여 관계에 대응시킨 다음 id가 아닌 클래스별로 코드를 작동 시키십시오.

당신이 <body> 태그 같은 일부 부모 요소 (조건에 따라) 클래스를 설정하여 그 다른 조건에 자바 스크립트 행동을 가지고있는 경우가 대부분 CSS와 함께 할 수 있습니다.

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

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

등의 CSS 규칙을 사용할 수 있습니다. <body> 태그에 "condition1"클래스가 있으면 "hidden-when-1"클래스의 모든 요소가 숨겨집니다.

1

div 컨테이너로 그룹화 한 다음 div를 표시하거나 숨길 수 있습니다. 그렇게하면 더 깨끗해집니다. 또한 Jquery를 살펴볼 수 있습니다. 훨씬 깨끗한 코드를 작성할 수 있습니다.

관련 문제