💡 An editor is ready below the article—experiment freely!
Updated: 2026年5月31日
Project Counter
Original task (JA): カウンター
Conclusion
Project Counter — free browser-based JavaScript (DOM) practice
Why it matters in real projects
状態を変数で持ち、イベントで更新して表示します。 Similar patterns appear daily in code review and production UI work.Step-by-step workflow
1. Read the guide and understand the goal of "Project Counter" 2. Review the JavaScript (DOM) editor pane and start from the starter code 3. Open hints if stuck; compare your diff with the sample solution 4. Click Run and inspect preview/console output 5. Auto-check looks for output containing: addEventListener, textContent. 6. After success, continue with adjacent exercises in the same categoryCore concept explained
状態を変数で持ち、イベントで更新して表示します。Technical focus
Key JavaScript APIs: document.getElementById, addEventListener.Hint before you peek at the solution
let count = 0; クリックで count++; element.textContent = count;Sample solution walkthrough
JavaScript APIs used: document.getElementById, addEventListener. Verify spelling and async/await usage. Explanation: 状態を変数で持ち、イベントで更新して表示します。 Hint recap: let count = 0; クリックで count++; element.textContent = count;Solution code
let count = 0;
document.getElementById('btn')?.addEventListener('click', () => {
count++;
const el = document.getElementById('count');
if (el) el.textContent = count;
});Common mistakes for this exact task
・Skipping the hint: let count = 0; クリックで count++; element.textContent = count; ・getElementById returns null if the id string differs by even one characterTroubleshooting
Q: Preview does not change after Run A: Ensure you edited the JavaScript (DOM) pane and clicked Run. Q: Looks correct but check fails A: Auto-check looks for output containing: addEventListener, textContent. Look for typos, full-width spaces, or unclosed tags. Q: Console shows errors A: Open DevTools Console and fix bracket/quote mismatches at the reported line. Q: Hard to type on mobile A: Use landscape mode or continue on desktop—the same URL keeps progress in localStorage.Interview / portfolio tips
・Explain the techniques in "Project Counter" in your own words within 30 seconds ・Practice walking through each line of the sample solution on a whiteboard ・Connect this task to a real component you would ship ・Mention responsive or accessibility trade-offs ・Describe when you use: document.getElementById, addEventListenerWhat to do after you pass
Move to the next exercise in the project track, then continue the learning roadmap at /en/learning/project/.Keywords
Free hands-on exercise covering カウンター, project, 上級, document.getElementById, addEventListener, project counter—search-friendly guide for Project Counter.🧪 Try it here — safe to break things
Use the editor below to write code and preview instantly.
Jump to editor■ Exercise task
ボタンクリックでカウントを1増やし、idが「count」の要素に表示してください。
Hint if stuck
let count = 0; クリックで count++; element.textContent = count;