2014-10-17 2 views
0

내가 학교에서하고있는 프로젝트에 도움이 필요합니다. 우리는 영화를 예약하는 시스템을 만들어야합니다. 의자를 생성하기 위해 배열을 만들었지 만 각 버튼에 고유 한 ID를 부여하려면 어떻게해야합니까? 배열의 버튼에 고유 한 ID를 부여

내 코드입니다 :

function chair(){  
    for(i = 1 ; i <= 10; i = i + 1){ 
     if ( i > 3 && i < 8){ 
      document.write("<button>button</button>"); 
     }else{ 
      document.write("<button>hi</button>"); 
     } 
    } 
} 

답변

1

글쎄, 당신이 할 수 있습니다 :

document.write("<button id=btn" + i + ">button</button>"); 

사이드 노트 :

  1. 을 당신은 The Horror of Implicit Globals에 떨어지는 먹이있어   —은 i 변수를 선언합니다.

    for (i = 0; i < 10; i = i + 1) 
    

    당신은 필요가 없습니다,하지만 할 수있는 일상적인 일이다 :

  2. 는 일반적으로 프로그램에서 우리는 0보다는 1 시작, 다른 일을 할 수있는 이유를 금지.
    for (i = 0; i < 10; ++i) 
    

    가 다시 당신이 필요는 없지만, 그 (또는 사촌 i++은) 훨씬 더 일반적인 i = i + 1보다 것이다 :

  3. i = i + 1++i ("증가 i") 쓸 수 있습니다.

  4. document.write은 작은 클래스 할당 등에서는 문제가 없지만 FWIW 만 사용하면 실제 환경에서는 사용하지 않을 수 있습니다. DOM 대신 사용

    var btn = document.createElement("button"); 
    btn.id = "btn" + i; 
    document.body.appendChild(btn); 
    

HTH를, 당신이 배우고로 ... 내가 document.write에 대해

+0

,'당신 ++ i' 또는'내가 ++'사용하는 경우 지점 3, JSLint는 불평에 대해서는 I = I + 1' 또는'내가 + = 1 ' 다소 일반적입니다. – JLRishe

+0

@JLRishe : 제 경험상, 매우 드물지만 (특히'++ i' 또는'i ++'와 비교할 때), 제가 마지막으로 본 것을 기억하지 못합니다. 하지만 예, 사용되었습니다. –

+0

@AmitJoki : * Good Parts *는 사실 기반 정보가 아닌 모든 종류의 의견으로 채워집니다. Crockford는 지능적이고 정보에 입각하여 그를 읽는 것이 현명하지만 그는 우리와 마찬가지로 오류가 있습니다. –

0

을 권합니다. 이것을 할 수 있습니다

function chair() { 
    for (var i = 0; i < 10; i++) { 
     var btn = document.createElement("button"); 
     btn.id = "btn" + i; // set the id 
     btn.innerHTML = (i > 3 && i < 8) ? "Button" : "hi"; 
     document.body.appendChild(btn); 
    } 
} 

P.S 그의 사이드 노트에서 T.J.Crowder의 제안에 맞는 답변을 업데이트했습니다. 특히, 나는`생각 자바 스크립트 있도록

+1

T.J. Crowder의 제안은 제쳐두고, 당신은 'i = i ++'를 사용해서는 안됩니다. 그것은 심지어 말이되지 않습니다 (오타였습니까?). – JLRishe

+1

@JLRishe 물론, 이전에 편집했습니다. :) –

0
function chair() 
{ 
var ID = 0; 
    for(i = 1 ; i <= 10; i = i + 1) 
    { 
    if ( i > 3 && i < 8){ 
    document.write("<button id=btn"+id+">button</button>"); 
    } else{ 
    document.write("<button id=btn"+id+">hi</button>"); 
     } 
    id++; 
    } 
} 
0
var id=0; 
for(i = 1 ; i <= 10; i = i + 1) 
{ 
    if ( i > 3 && i < 8) 
    { 
     document.write("<button id="+id+">button</button>"); 
     id++; 
    } 
    else 
    { 
     document.write("<button id="+id+">hi</button>"); 
     id++; 
    } 
} 
관련 문제