← Все вопросы
Как менять картинку при наведении или клике на JS (поменять src)?
5
Есть <img> и кнопка. Хочу по клику менять картинку на другую. Пробовал менять textContent, но у картинки текста нет. Как поменять саму картинку?
2 ответа
9
✓ Принятый ответ — помог автору
У картинки путь к файлу хранится в свойстве .src — его и надо менять:
<img id="pic" src="cat.jpg" width="200">
<button id="swap">Поменять</button>
const pic = document.getElementById('pic');
document.getElementById('swap').addEventListener('click', function() {
pic.src = 'dog.jpg';
});
textContent тут не подходит — у <img> нет текста внутри, картинка задаётся атрибутом src. Меняешь src — меняется отображаемое изображение.
3
Чтобы переключать туда-обратно по клику, запоминай состояние в переменной или сравнивай текущий src:
let shown = false;
swap.addEventListener('click', function() {
shown = !shown;
pic.src = shown ? 'dog.jpg' : 'cat.jpg';
});
Так же можно менять .alt (подпись) и любые другие атрибуты — у элемента они доступны как свойства.
Ваш ответ
Войдите, чтобы ответить на вопрос.