JSFiddle - React, Tailwind, and code Playground
by webviper
HTML
<div class="container">
<div class="el">
<div class="el">
<div class="el">
<div class="el">
<div class="el">
<div class="el">
<div class="el">
<div class="el"></div>
</div>
</div>
</div>
</div>
<div class="el">
<div class="el">
<div class="el">
<div class="el">
<div class="el"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
CSS
.container {
float: left;
width: 800px;
position: absolute;
height: 400px;
display: block;
content: " ";
}
.el {
border: 1px solid #000;
position: relative;
display: block;
min-width: 30px;
min-height: 30px;
max-width: 800px;
margin: 30px;
background: #FFF;
}
.red {
background-color: #F00;
}
.black {
background-color: #000;
}
JavaScript
$('.container').click(function(e){
var $elem = $(e.target);
var n = $elem.find('div').length;
var color_add = 'red';
var color_remove = 'black';
for (var i = n; i--;) {
$elem.children().addClass(color_add).removeClass(color_remove);
$elem = $elem.children();
color_add = (color_add == 'red') ? 'black' : 'red';
color_remove = (color_remove == 'red') ? 'black' : 'red';
}
});