以下のような、STARTボタンを押した後にSTARTボタンがSTOPボタンに切り替わるスクリプトを組みました。
JavaScript
1<body> 2 <div class="container"> 3 <p id="timer">00:00:00</p> 4 <div> 5 <button id='start_stop' class="btn btn-lg btn-primary">START</button> 6 </div> 7 </div> 8 <script> 9 var startClick = function() { 10 start = new Date(); 11 var seconds = start.getSeconds(); 12 var minutes = start.getMinutes(); 13 var hours = start.getHours(); 14 15 this.innerHTML = "STOP"; 16 17 document.getElementById('timer').innerHTML = hours + ':' + minutes + ':' + seconds; 18 } 19 20 document.getElementById('start_stop').addEventListener('click', startClick, true); 21 </script> 22</body>
この上記のスクリプトでstartClick関数内で、this.innerHTML = "stop"; と定義しているのですが、
このコードのthisがdocument.getElementById('start_stop') を参照しているように感じるのですが、
なぜ、thisがdocument.getElementById('start_stop') を参照しているのかがわかりません。
なぜ、startClick関数内でthis.innerHTML = "stop"; と定義しているのにthisがdocument.getElementById('start_stop') を参照しているのでしょうか?
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。