Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.05.2015, 12:46
Интересующийся
Отправить личное сообщение для chelkaz Посмотреть профиль Найти все сообщения от chelkaz
 
Регистрация: 02.01.2014
Сообщений: 26

Заменить все атрибуты дочерних элементов на значение взятое у родителя
Подскажите простое решение пожалуйста. Как пробежаться по странице, И у всего что находиться в блоке с классом test заменить у img атрибут на тот который у тега a

<div class="test">
<a href="url1">
<img src="old1" >
</a>
<a href="url2">
<img src="old2" >
</a>
<a href="url3">
<img src="old3" >
</a>
...
</div>


Должно получиться:

<div class="test">
<a href="url1">
<img src="url1" >
</a>
<a href="url2">
<img src="url2" >
</a>
<a href="url3">
<img src="url3" >
</a>
...
</div>


Я сделал так:

$('.offer-media__thumb').each(function () { 
            var res;
            res = $(this).attr('href');
            $('.offer-media__preview').each(function () {
            	$(this).attr('src', res);
            });            
            //alert(res);
        });


но первый url вставляется к последующим. То есть у всех получается один и тот же url (первый)
Ответить с цитированием
  #2 (permalink)  
Старый 22.05.2015, 13:10
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Сообщение от chelkaz
Я сделал так
Двойной цикл тут не нужен.

Достаточно просто пройтись по всем дочерним ссылкам родительского элемента найти дочерний img и заменить у него значение атрибута на значение из текущей ссылки.
Ответить с цитированием
  #3 (permalink)  
Старый 22.05.2015, 13:14
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Как вариант...

<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='http://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
<link rel='stylesheet type=text/css href=tmp.css' />
<link rel="stylesheet/less" type="text/css" href="style.less">
<script src="http://cdnjs.cloudflare.com/ajax/libs/less.js/2.5.0/less.min.js"></script>
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
$(function(){
	$('.test > a').each(function(){
		$(this).children('img').attr('src',$(this).attr('href'));
	});
});
</script>
</head>
<body>
<div class="test">
	<a href="http://javascript.ru/forum/images/smilies/smile.gif">
		<img src="old1" />
	</a>
	<a href="http://javascript.ru/forum/images/smilies/wink.gif">
		<img src="old2" />
	</a>
	<a href="http://javascript.ru/forum/images/smilies/laugh.gif">
		<img src="old3" />
	</a>
</div>
</body>
</html>
Ответить с цитированием
  #4 (permalink)  
Старый 22.05.2015, 13:32
Интересующийся
Отправить личное сообщение для chelkaz Посмотреть профиль Найти все сообщения от chelkaz
 
Регистрация: 02.01.2014
Сообщений: 26

То что нужно, пишу просто небольшой парсер для яндекс недвижимости. И там что бы картинку достать нужно в стили исходника было лезть. Это очень долго. Вот и решил написать что бы после загрузки страницы превьюшки менялись на full
Ответить с цитированием
  #5 (permalink)  
Старый 22.05.2015, 14:21
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

this.children[0].src = this.href;
Ответить с цитированием
  #6 (permalink)  
Старый 22.05.2015, 14:52
Интересующийся
Отправить личное сообщение для chelkaz Посмотреть профиль Найти все сообщения от chelkaz
 
Регистрация: 02.01.2014
Сообщений: 26

Сообщение от рони Посмотреть сообщение
this.children[0].src = this.href;
Это для этой задачи подходит по простоте. Но кажется с предыдущим вариантом можно удобнее фильтровать. Если например будут присутствовать не нужные img с определенным классом. Но для данной задачи Ваш вариант идентичен, но в два раза короче. Спасибо!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить все атрибуты <input> Kotakota jQuery 7 08.10.2012 18:22
Как удалить класс всех дочерних элементов? Jeremen Events/DOM/Window 8 01.09.2012 20:43
Блокировка событий всех дочерних элементов moreo Элементы интерфейса 4 26.05.2012 23:58
Название ячейки таблицы Questioner Общие вопросы Javascript 6 16.02.2011 09:58
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37