Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.09.2021, 18:40
Аспирант
Отправить личное сообщение для Alexander3928 Посмотреть профиль Найти все сообщения от Alexander3928
 
Регистрация: 19.05.2021
Сообщений: 75

Изменение 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
}
Ответить с цитированием
  #2 (permalink)  
Старый 08.09.2021, 18:52
Кандидат Javascript-наук
Отправить личное сообщение для od0201 Посмотреть профиль Найти все сообщения от od0201
 
Регистрация: 07.05.2020
Сообщений: 108

<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>
Ответить с цитированием
  #3 (permalink)  
Старый 08.09.2021, 18:57
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

od0201,

()=> urlImage() === urlImage
Ответить с цитированием
  #4 (permalink)  
Старый 08.09.2021, 19:01
Аспирант
Отправить личное сообщение для Alexander3928 Посмотреть профиль Найти все сообщения от Alexander3928
 
Регистрация: 19.05.2021
Сообщений: 75

Спасибо попробую так
Ответить с цитированием
  #5 (permalink)  
Старый 08.09.2021, 19:16
Кандидат Javascript-наук
Отправить личное сообщение для od0201 Посмотреть профиль Найти все сообщения от od0201
 
Регистрация: 07.05.2020
Сообщений: 108

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

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>
Ответить с цитированием
  #6 (permalink)  
Старый 08.09.2021, 19:30
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,744

А в чем сакральный смысл
.setAttribute('src',"http://www.kenwalger.com/twitter_cards/mongodb-atlas.png")
вместо обычного
.src = "http://www.kenwalger.com/twitter_cards/mongodb-atlas.png"
?
Ответить с цитированием
  #7 (permalink)  
Старый 08.09.2021, 22:44
Кандидат Javascript-наук
Отправить личное сообщение для od0201 Посмотреть профиль Найти все сообщения от od0201
 
Регистрация: 07.05.2020
Сообщений: 108

voraa,
не знал, учту
Ответить с цитированием
  #8 (permalink)  
Старый 09.09.2021, 23:53
Аспирант
Отправить личное сообщение для Alexander3928 Посмотреть профиль Найти все сообщения от Alexander3928
 
Регистрация: 19.05.2021
Сообщений: 75

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

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

Последний раз редактировалось Alexander3928, 09.09.2021 в 23:59.
Ответить с цитированием
  #9 (permalink)  
Старый 10.09.2021, 00:48
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

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

https://learn.javascript.ru/event-delegation
Ответить с цитированием
  #10 (permalink)  
Старый 10.09.2021, 00:59
Кандидат Javascript-наук
Отправить личное сообщение для od0201 Посмотреть профиль Найти все сообщения от od0201
 
Регистрация: 07.05.2020
Сообщений: 108

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
изменение цвета при клике apol775 jQuery 30 29.11.2015 17:05
При клике поменять местами картинки Low_Weaper Элементы интерфейса 2 16.11.2015 16:09
Изменение цвета заливки у SVG картинки при наведении мыши? akkond Общие вопросы Javascript 2 15.04.2014 13:04
Изменение прозрачности при клике AJIUK jQuery 8 09.03.2014 16:00
Изменение параметров картинки при помощи Javascript multimax Элементы интерфейса 6 07.06.2011 08:43