Замена src в img на другое значение через JS
Необходимо заменить src на другое значение через JS (HTML трогать при этом нельзя). Допустим <img src="picture/image.png"> стоит на сайте, но вместо picture/image.png должно отображаться picture/picture.png
Слабо разбираюсь в JS, пытался делать вот так:
Начало кода: var img = document.querySelector('img[src="picture/image.png"]');, затем один из вариантов:
1 вариант: img.setAttribute('src', 'picture/picture.png');
2 вариант: img.src = 'picture/picture.png';
3 вариант: img.src = img.src.replace("pic/jasmine.png","picture/picture.png");
Ничего не работает. Может быть, проблема в том, что код не вызывается?
Ответы (1 шт):
Уточнение
- Доступ к элементам в JS обычно получают с
id. Потом находят с помощьюdocument.querySelector('#id'). - Преимущество
imgиHTMLImageElementв том, что у него есть свойствоsrcи не надо трогатьsetAttribute. - При изменении свойства
srcкартинка обрабатывается снова и меняется. Доказательство:
document.querySelector(`button#change`).addEventListener(`click`, (event) => {
document.querySelector(`img#view`).src = `https://imgur.com/Qo9CV22.png`;
event.target.innerText = `Я изменил реальность`;
}, { once: true });
<img id="view" src="https://imgur.com/tFKEYxv.png" style="width: 150px;" />
<br />
<button id="change">Я меняю реальность</button>
То, что у вас не работает - другая причина. Посмотрите на пример, исправьте у вас.