I'm new at JavaScript so I hope this isn't a dumb mistake. I have an unordered list with 5 li elements. I was trying to get the text from a clicked li. (console.log). But it will only console.log on the second time I click the li. I've tried many things but nothings working, can someone help me? Thank you.
Here is my code...
var mainUl = document.querySelector('#main-list').addEventListener('click', liPick);
// //console.log(mainUl);
function liPick() {
var ele = document.querySelectorAll('#main-list li');
ele.forEach(function(item) {
item.onclick = function(e) {
//var myText = this.innerText;
//console.log(myText);
//alert(this.innerText);
//var myDiv = document.getElementById('#whatclicked');
console.log(this.innerText);
}
});
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=divice-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatable" content="ie=edge">
<link rel="stylesheet" href="./css/style.css">
<script src="./js/script.js" defer></script>
<title>JavaScript Selectors</title>
</head>
<body>
<div id="container">
<ul id="main-list">
<li class="list-items">Item 1</li>
<li class="list-items">Item 2</li>
<li class="list-items">Item 3</li>
<li class="list-items">Item 4</li>
<li class="list-items">Item 5</li>
</ul>
</div>
<div id="whatclicked"></div>
</body>
</html>