Fix the Closure Bug
MediumChallenge 5 of 20
Fix the Closure Bug
MediumThis code attempts to create 5 buttons, each logging a different number when clicked. However, all buttons log the same number. Fix the closure issue.
Challenge 5 of 20
50 XP
Community Solutions
ClosuresScopeDOMJavaScript
Exit ChallengeTest Cases
0/1 passingTest Case #1
Input: createButtons()
Expected: Each button should log its own number (0-4) when clicked
Run tests to see results
solution.js
1
<span class="token keyword">function</span> createButtons() {
<span class="token keyword">const</span> container = document.getElementById(<span <span class="token keyword">class</span>="token number">039</span>;button-container<span <span class="token keyword">class</span>="token number">039</span>;);
<span class="token keyword">for</span> (<span class="token keyword">var</span> i = <span <span class="token keyword">class</span>="token number">0</span>; i < <span <span class="token keyword">class</span>="token number">5</span>; i++) {
<span class="token keyword">const</span> button = document.createElement(<span <span class="token keyword">class</span>="token number">039</span>;button<span <span class="token keyword">class</span>="token number">039</span>;);
button.textContent = <span <span class="token keyword">class</span>="token number">039</span>;Button <span <span class="token keyword">class</span>="token number">039</span>; + i;
button.addEventListener(<span <span class="token keyword">class</span>="token number">039</span>;click<span <span class="token keyword">class</span>="token number">039</span>;, <span class="token keyword">function</span>() {
console.log(<span <span class="token keyword">class</span>="token number">039</span>;Button <span <span class="token keyword">class</span>="token number">039</span>; + i + <span <span class="token keyword">class</span>="token number">039</span>; clicked<span <span class="token keyword">class</span>="token number">039</span>;);
});
container.appendChild(button);
}
}Console
Run your code to see output here