JSFiddle - React, Tailwind, and code Playground
HTML
<body>
<button id="btnClick" onclick="javascript:showDiv()">show</button>
<button id="btnClick" onclick="hideDiv()">hide</button>
<div id="out"></div>
<div id="x" class="item"> bla
<div id="y" class="item"> bla
</div>
</div>
</body>
CSS
.item {
display: inline-block;
min-width: 100px; min-height: 100px;
border: solid 1px black;
margin: 5px;
}
JavaScript
document.addEventListener("click", function (e) {
var level = 0;
for (var element = e.target; element; element = element.parentNode) {
if (element.id === 'x') {
document.getElementById("out").innerHTML = (level ? "inner " : "") + "x clicked";
return;
}
level++;
}
document.getElementById("out").innerHTML = "not x clicked";
hideDiv();
});
function showDiv() {
document.getElementById('x').style.display = 'block';
}
function hideDiv() {
document.getElementById('x').style.display = 'none';
}