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 14:22

сегодня каталог не успею заверстать, завтра сделаю структуру и можно будет определиться среди методов)

andreychaki 18.12.2012 10:10

<div class="catalogitem">
<h1>Название товара</h1>
	<div class="col3">
		<div class="col_left">
			<img src="img/img1.jpg">
		</div>
		<div>
			описание товара и характеристики
		</div>
		<div class="col_right">
			<div class="AddToBasket">
				<div class="button_blue">В корзину</div>
			</div>
		</div>
	</div>
</div>

код такой. при нажатии на <div class="button_blue">В корзину</div> в переменную писать img/img1.jpg

такой код мне поможет?
$('.catalogitem .button_blue').click(function () {
     var src = this.closest('.catalogitem').find('img').attr('src');
});

tsigel 18.12.2012 10:13

Цитата:

Сообщение от andreychaki
$('.catalogitem .button_blue').click(function () {
     var src = this..closest'div').find('img').attr('src');
});

Не совсем так. Так ты найдешь div с классом "AddToBasket", т.к. closest() ищет первый селектор удовлетворяющий требованию. Тебе надо указывать первого общего родителя для кнопки "в корзину" и картинки.
$('.catalogitem .button_blue').click(function () {
     var src = this.*!*closest('.col3')*/!*.find('img').attr('src');
    // в src значение атрибута src
});

andreychaki 18.12.2012 10:18

а, ну да. лишний переход к родителю ни к чему тут

andreychaki 18.12.2012 10:31

$(function() {	
	$('.button_blue').click(function() {
		alert(1); 
		var src = this.closest('.col3').find('img').attr('src');
		alert(2); 
	});
});


"1" выводится
"2" не выводится

andreychaki 18.12.2012 10:33

починил
$(function() {	
	$('.button_blue').click(function() {
		var src = $(this).closest('.col3').find('img').attr('src');
		alert(src); 
	});
});

сделал так

tsigel 18.12.2012 10:37

Ну да) jQuery то надо включить, логично)


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