Я воссоздаю классическую карточную игру памяти для своего финального проекта - колоду карт, которую мне нужно перевернуть и сопоставить.Ниже приведена выдержка из колоды карт в HTML:
<ul class="deck">
<li class="card">
<i class="fa fa-diamond"></i>
</li>
<li class="card">
<i class="fa fa-paper-plane-o"></i>
</li>
<li class="card">
<i class="fa fa-diamond"></i>
</li>
<li class="card">
<i class="fa fa-paper-plane-o"></i>
</li>
</ul>
Я уже добавил функцию переворачивания, применив делегирование события к родительскому узлу и используя свойство event.target.
document.querySelector('.deck').addEventListener('click', function(event) {
if (event.target.nodeName === 'LI') {
event.target.classList.add('open');
//get child element "i" classname, add to array and match cards
}
});
Теперь мне нужно получить дочерний элемент карты, по которой щелкнули, добавить ее в массив, а затем использовать этот массив для сопоставления двух открытых карт вместе.Проблема в том, что я не могу понять, как получить класс дочернего элемента (например, i class = "fa fa-diamond").Как я могу продолжить отсюда?
Я думал просто добавить отдельного прослушивателя событий для каждой карты вместо этого, но я предполагаю, что это будет более дорогостоящей операцией.Или это будет лучше?Ждем вашей помощи и предложений.