Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Изменение url адрес картинки при клике на button (https://javascript.ru/forum/misc/83082-izmenenie-url-adres-kartinki-pri-klike-na-button.html)

Alexander3928 08.09.2021 18:40

Изменение url адрес картинки при клике на button
 
Добрый день! Нужна помощь с заменой текущей картинки на другую при нажатии на кнопку "GO". Пожалуйсто если вы знаете как делать, помогите мне именно в таком виде кода без использования document.getElementById, var, onclick.

Я понимаю это как:

Код:

<div class="box">
      <img src="URL адрес" class="image">
      <button class="button">GO</button>
</div>

const butt = document.querySelector(".button")
const image = document.querySelector(".image")

butt.addEventListener("click", ()) {
urlImage()
}

function urlImage() {
тут мне нужно заменить url картинки на другую когда нажимаю на кнопку GO
}

od0201 08.09.2021 18:52

<div class="box">
  <img src="URL адрес" class="image">
  <button class="button">GO</button>
</div>
<script>
const butt = document.querySelector(".button")
const image = document.querySelector(".image")

butt.addEventListener("click", ()=> urlImage())

function urlImage() {
  image.setAttribute('src',"http://www.kenwalger.com/twitter_cards/mongodb-atlas.png")

}
</script>

рони 08.09.2021 18:57

od0201,
:-?
()=> urlImage() === urlImage

Alexander3928 08.09.2021 19:01

Спасибо попробую так

od0201 08.09.2021 19:16

рони,
да, есть грешок :cray:

Alexander3928,
или так, если таких блоков несколько (не используя классы)

<div class="box">
  <img src="URL адрес">
  <button>GO</button>
</div>
<div class="box">
  <img src="URL адрес">
  <button>GO</button>
</div>
<script>
const butt = document.querySelectorAll("button")

butt.forEach((e)=>{
  e.addEventListener("click", (e)=> urlImage(e))
})
function urlImage(e) {
  e.target.parentElement.querySelector("img").setAttribute('src',"http://www.kenwalger.com/twitter_cards/mongodb-atlas.png")
}
</script>

voraa 08.09.2021 19:30

А в чем сакральный смысл
.setAttribute('src',"http://www.kenwalger.com/twitter_cards/mongodb-atlas.png")
вместо обычного
.src = "http://www.kenwalger.com/twitter_cards/mongodb-atlas.png"
?

od0201 08.09.2021 22:44

voraa,
не знал, учту

Alexander3928 09.09.2021 23:53

рони,
или так, если таких блоков несколько (не используя классы)

А если нужно использовать классы, тогда оно пишется по-другому? Мне просто нужно это сделать через классы определенных элементов

рони 10.09.2021 00:48

Alexander3928,
Делегирование событий
https://learn.javascript.ru/task/image-gallery

https://learn.javascript.ru/event-delegation

od0201 10.09.2021 00:59

вверху два примера
парвый через классы. допустим, если у нас один image данного класса
Код:

const image = document.querySelector(".image")
второй через родителей и детей. Мы у родителя нажатой кнопки берем элемент img. Данный пример универсален
Код:

e.target.parentElement.querySelector("img")


Часовой пояс GMT +3, время: 17:28.