var wrappers = document.querySelectorAll('.wrapper'); for (var i = 0; i<wrappers.lenght; i++) { wrappers[i].onclick = function() { this.firstChild.style.display = 'none'; }; }; .wrapper { width: 100px; height: 100px; border: 2px solid blue; display: inline-block; cursor:pointer; } <div class="wrapper"> <div class="some">asdasd</div> </div> <div class="wrapper"> <div class="some">asdasd</div> </div> <div class="wrapper"> <div class="some">asdasd</div> </div> <div class="wrapper"> <div class="some">asdasd</div> </div> Why this code does not work, the text should disappear by clicking on the block.