if(xboxselected = "selected")
Это должно быть
if (xboxselected.contains("selected"))
=
- это присвоение, а не сравнение. Чтобы сравнить вещи на равенство, вы бы использовали ===
(или ==
), но здесь это не имеет смысла, потому что xboxselected
не строка, а список классов .
Просто используйте метод .contains
.
Тем не менее, если все, что вы хотите сделать, это показать другое изображение в зависимости от класса родительского элемента (и изображение должно измениться «вживую» при изменении класса), вы можете просто использовать CSS:
document.getElementById('demo').onclick = function () {
document.querySelector('.platform-selection').classList.toggle('selected');
};
.platform-selection img.alternative {
display: none;
}
.platform-selection.selected img {
display: none;
}
.platform-selection.selected img.alternative {
display: block;
}
<div class="platform-selection">
<div style="margin: 5px;">
<img src="https://i.imgur.com/1aCFcDj.jpg">
<img src="https://i.imgur.com/rmPqh.gif" class="alternative">
</div>
</div>
<button id="demo">Toggle selection</button>
Есть два изображения. Мы изначально используем CSS, чтобы скрыть один из них (тот, у которого класс alternative
). Всякий раз, когда родительский элемент получает класс selected
(здесь он предоставляется с помощью переключателя), он скрывает (обычно видимое) содержащееся изображение и отображает (обычно скрытое) alternative
изображение.