Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   получение src картинки при клике на кнопку (https://javascript.ru/forum/misc/33990-poluchenie-src-kartinki-pri-klike-na-knopku.html)

andreychaki 17.12.2012 09:34

получение src картинки при клике на кнопку
 
Здравствуйте!
имеется каталог товаров.
в каждой позции имеется картинка товара и кнопка заказать

как сделать так что бы при клике на кнопку заказать в переменную записался src картинки

godofjavascript 17.12.2012 10:31


tsigel 17.12.2012 10:51

с помощью jQuery это будет так:

$('.order').click(function () {
   var a = $('img.SomeClassImg').attr('src');
})

andreychaki 17.12.2012 10:58

с записью проблем нет. проблема в том что товаров много. и как определять какой src нам нужно записывать.
например такая структура:
<div class="CatalogList">
  <div>
    <img src="img1.jpg">
    <div class="button"></div>
  </div>
  <div>
    <img src="img2.jpg">
    <div class="button"></div>
  </div>
  <div>
    <img src="img3.jpg">
    <div class="button"></div>
  </div>
</div>

необходимо что бы при клике на <div class="button"> в переменную писался src картинки которая лежит с ним в блоке

pivas.net 17.12.2012 11:19

$('.CatalogList .button').click(function () {
     var src = this.parent('div').find('img').attr('src');
    // в src значение атрибута src
});

pivas.net 17.12.2012 11:32

Без jQuery нужно?

andreychaki 17.12.2012 11:48

спасибо, можно и с ним. все равно библиотека подключена для "аккордеона" если структура немного будет отличаться. к примеру больше вложеностей. можно будет указать parent('класс_общего_блока') и будет так же работать?

pivas.net 17.12.2012 11:56

parents ! указываю на "s" в конце имени метода. Тогда будет.

godofjavascript 17.12.2012 11:58

pivas.net, рукожоп, если много элементов то событие вешается на родителя.

$('div.CatalogList').on('click', '> div .button', function () {
    var src = $(this).parent('div').find('img').attr('src');
});

tsigel 17.12.2012 12:03

Если больше одного родителя, то лучше использовать .closest() вместо .parent()


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