So I am trying to simply display the numbers/signs written within each 'num' div. Which should be reachable through innerHTML correct? so I have a for loop through all my 'num' divs, with a click listener, though the clicks are returning undefined, instead of each element's innerHTML.
I have also tried (this.innerHTML instead of number[i].innerHTML within the event listener in the loop). to no avail.
I must be missing something, please help.
const screen = document.querySelector('.screen')
const number = document.querySelectorAll('.num')
const opr = document.querySelector('.opr')
const clr = document.querySelector('.clr')
for (i = 0; i < number.length; i++) {
number[i].addEventListener('click', (e) => {
screen.innerHTML += number.innerHTML
console.log(number[i].innerHTML)
console.log('clicked')
})
}
<head>
<link rel="stylesheet" type="text/css" href="src/style.css">
<title> File Title </title>
<meta charset="UTF-8">
</head>
<body>
<div class="calculator">
<div class="screen">
</div>
<div class="inputs">
<button class="opr add">+</button>
<button class="opr sub">-</button>
<button class="opr div">/</button>
<button class="opr mult">*</button>
<button class="num">1</button>
<button class="num">2</button>
<button class="num">3</button>
<button class="num">4</button>
<button class="num">5</button>
<button class="num">6</button>
<button class="num">7</button>
<button class="num">8</button>
<button class="num">9</button>
<button class="num">0</button>
<button class="opr dot">.</button>
<button class="opr eql">=</button>
<button class="clr">C</button>
</div>
</div>
<script src="src/script.js"></script>
</body>
document.querySelector('.screen')may need to bedocument.querySelector('.screen')[0]-- querySelector may be returning an array. Also, wrap your variables inNumber()-- those might be getting the numbers as strings and your concating strings inscreen.innerHTML += number.innerHTMLquerySelectoronly returns the first occurance of an element that matches the selector.querySelectorAllreturns anHTMLElementCollectionwhich can be indexed.<buttttttoninstead of<buttton