2016-09-27 2 views
2

내가 일자리를 적용하고있어 그들이 JS 질문은 아래에 자세히 설명 던졌다 :자바 스크립트 버튼을 잘못 경고

페이지 10 개 <button> 요소를 렌더링하는 함수를 작성 (10)을 통해 1 번호와 번호를 알려 버튼을 클릭하면 선택한 버튼의 이 아닌은 jQuery 또는 다른 라이브러리를 사용하십시오.

충분히 쉬운 것 같습니다. 나는 잘못된 번호를 경고하는 것을 제외하고는 작업 모델을 구축했습니다. 버튼 11에 모든 버튼에 대해 경고합니다. 나는 무언가를 잊어 버리는 것을 알고있다. 아래 코드는 (당신이 이것을 구성하는 더 좋은 방법이 있다면 비판 해보십시오.) 또한 경고를 위해 저장되는 JSFiddle에 대한 링크가 여기에 있습니다.

var count = 1; 

function createBtn(){ 
    var button = document.createElement("button"); 
    button.innerHTML = "Button " + count; 
    var body = document.getElementsByTagName("body")[0]; 
    body.appendChild(button); 
    button.addEventListener ("click", function() { 
    alert('Button ' + count); 
    }); 
} 

function buttonRender(){ 
    for(var i = 0; i < 10; i++){ 
    createBtn(); 
    count++; 
    } 
} 

buttonRender(); 

답변

4

함수에 개수를 전달해야합니다.

function createBtn(count){ 
    var button = document.createElement("button"); 
    button.innerHTML = "Button " + count; 
    var body = document.getElementsByTagName("body")[0]; 
    body.appendChild(button); 
    button.addEventListener ("click", function() { 
    alert('Button ' + count); 
    }); 
} 

function buttonRender(){ 
    for(var i = 0; i < 10; i++){ 
    createBtn(count); 
    count++; 
    } 
} 

https://jsfiddle.net/xw7mhag2/

+0

아! 나는 그것이 단순한 무엇인지 알았다. Stack Overflow가 나를 허용 할 때 10 분 안에 답을 작성하겠습니다. Alberto! 감사합니다. –

+0

버튼을 만들 때 올바른 값을 가지고 있더라도 모든 버튼에 대해 _why_ count가 11이라고 설명하면이 답변이 훨씬 더 멋지게 될 것입니다 ... –

0
var count = 0; 

    function createBtn(count){ 
    var button = document.createElement("button"); 
    button.innerHTML = "Button " + count; 
    var body = document.getElementsByTagName("body")[0]; 
    body.appendChild(button); 
    button.addEventListener ("click", function() { 
     alert("Button " + count); 
    }); 
    } 

    function buttonRender(){ 
    for(var i = 0; i < 10; i++){ 
    count++; 
     createBtn(count); 

    } 
    } 

    buttonRender(); 
관련 문제