for(var i=1; i<=3; i++){
             (document.getElementById('answer'+i).onclick = function(){selAnswer(i);})(i);
                // document.getElementById('answer'+i).onclick = function(event) {alert(event.currentTarget);};
            }            // document.getElementById('answer1').onclick = function() { selAnswer(1); };
            // document.getElementById('answer2').onclick = function() { selAnswer(2); };
            // document.getElementById('answer3').onclick = function() { selAnswer(3); };如何用for循环输出下面注释的内容

解决方案 »

  1.   

    <input id='btn1' value='btn1' type='button'>
    <input id='btn2' value='btn2' type='button'>
    <input id='btn3' value='btn3' type='button'>
    <script>
    for(i = 1; i < 4; i++){
    document.getElementById('btn' + i).addEventListener('click', (function (i) {
            return function (e){
                alert('btn' + i);
            }               
        })(i), 'false');
    }
    </script>
      

  2.   


    <input id='btn1' value='btn1' type='button'>
    <input id='btn2' value='btn2' type='button'>
    <input id='btn3' value='btn3' type='button'>
    <script>
    for(i = 1; i < 4; i++){ (function(i){ //这个是function里i,即function的形参,也可以换成j,换成什么变量名都无所谓
    document.getElementById('btn' + i).onclick=function(){ 
    selAnswer(i);
    }
    })(i);
    }
    function selAnswer(i){
    alert(i);
    }
    </script>