Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Замена ссылок у всех картинок определенного типа (https://javascript.ru/forum/dom-window/48684-zamena-ssylok-u-vsekh-kartinok-opredelennogo-tipa.html)

phpboy 12.07.2014 19:20

Замена ссылок у всех картинок определенного типа
 
Здравствуйте!

Jquery знаю плохо, но как работает понимаю.

Есть вот такая вещь:
<li class="tab">
		<span><img src="./img/app_img.png"/></span>
		<div class="tab-content">
                 123
                </div>
         </li>


По клику на спан, нужно картинке внутри него давать другую ссылку (заменой см. код), а всем остальным заменой ставить ссылку, дефолтную для этой картинки. Это для табов. Есть 2 состояния картинки - нажата и нет.

Вот этот код у меня обрабатывает табы:

$(document).ready(function(){
    $('.tab-content:first').show(0);
    $('.tab:first>span').addClass('selected');

	$('.tab:first>span>img').attr('src', $('.tab:first>span>img').attr('src').replace('_img', '_imgPressed'));//попытка заменять ссылку

    $('.tab>span').click(function(){
       $('.tab>span').removeClass('selected');

	   $(".tab>span:first").find("img").attr('src', $(".tab>span:first").find("img").attr('src').replace('Pressed', ''));//попытка обнулить ссылку
	   $(this).find("img").attr('src', 
$(this).find("img").attr('src').replace('_img', '_imgPressed'));//попытка заменять ссылку

	   $(this).addClass('selected'); 
       $('.tab-content').hide(0);   
       $(this).next('.tab-content').show(0);     
    });
});


Понятное дело, то оно не работает, потому что с каждым $(this).find("img"). поиск начинается сначала, а взять срц для замены нужно с того же элемента.

Подскажите как выйти из этой ситуации

skrudjmakdak 13.07.2014 20:25

честно говоря я не понял что вы хотели, вот набросал код, и с него будем отталкиваться:
<html>
	<head>
		<title>example</title>
		<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
	</head>
	<body>
		<span><img width="40" height="40" src="/myimage.jpg"></span>
		<span><img width="40" height="40" src="/myimage.jpg"></span>
		<span><img width="40" height="40" src="/myimage.jpg"></span>
		
	<script type="text/javascript">
		$('span').click(function ()
			{
			var img = $(this).find('img');
			img.attr('src', 'newimage.jpg');
			});

	</script>
	</body>
</html>


что нужно доделать на нем?


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