var siblings_of = [];
siblings_of[1] = [2, 5, 6];
siblings_of[2] = [1, 3, 5, 6, 7];
siblings_of[3] = [2, 4, 6, 7, 8];
siblings_of[4] = [3, 7, 8];
siblings_of[5] = [1, 2, 6, 9, 10];
siblings_of[6] = [1, 2, 3, 5, 7, 9, 10, 11];
siblings_of[7] = [2, 3, 4, 6, 8, 10, 11, 12];
siblings_of[8] = [3, 4, 7, 11, 12];
siblings_of[9] = [5, 6, 10, 13, 14];
siblings_of[10] = [5, 6, 7, 9, 11, 13, 14, 15];
siblings_of[11] = [6, 7, 8, 10, 12, 14, 15, 16];
siblings_of[12] = [7, 8, 11, 15, 16];
siblings_of[13] = [9, 10, 14];
siblings_of[14] = [9, 10, 11, 13, 15];
siblings_of[15] = [10, 11, 12, 14, 16];
siblings_of[16] = [11, 12, 15];
function mark_siblings(id) {
siblings_of[id].forEach(function(item) {
$('#' + item).addClass('marked');
});
}
function reset() {
$('.selected').removeClass('selected');
$('.marked').removeClass('marked');
}
$(document).ready(function() {
$('.panel').on('click', function() {
var id = $(this).attr('id');
reset();
$(this).addClass('selected');
mark_siblings(id);
})
});
.card_mat {
width: 220px;
}
.panel {
display: inline-block;
border: 1px solid #cccccc;
width: 50px;
height: 50px;
text-align: center;
line-height: 50px;
}
.marked {
background-color: #dddddd;
}
.selected {
background-color: #aaaaaa;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="card_mat">
<div class="panel" id="1">1</div>
<div class="panel" id="2">2</div>
<div class="panel" id="3">3</div>
<div class="panel" id="4">4</div>
<div class="panel" id="5">5</div>
<div class="panel" id="6">6</div>
<div class="panel" id="7">7</div>
<div class="panel" id="8">8</div>
<div class="panel" id="9">9</div>
<div class="panel" id="10">10</div>
<div class="panel" id="11">11</div>
<div class="panel" id="12">12</div>
<div class="panel" id="13">13</div>
<div class="panel" id="14">14</div>
<div class="panel" id="15">15</div>
<div class="panel" id="16">16</div>
</div>