Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Как работает each (https://javascript.ru/forum/jquery/51526-kak-rabotaet-each.html)

AxelS 10.11.2014 08:05

Как работает each
 
Здравствуйте. Новичок в jquery и js. Перечитал много документации, но так и не понял как использовать each.
есть такой скрипт, всё бы хорошо, но как и должно быть отдаёт только первый attr, я так понял мне нужно использовать конструкцию each. Помогите пожалуйста, как заставить каждый атрибут src вставить в каждый родительский атрибут href?
$().ready(function(){
	$('.content img').wrap('<a id="zoom"></a>');
		var surc=$('.content a img').attr('src');
			$('a#zoom').attr('href',''+surc+'');
		});

ksa 10.11.2014 08:29

Цитата:

Сообщение от AxelS
как заставить каждый атрибут src вставить в каждый родительский атрибут href?

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

$(function(){
	$('.content img').wrap('<a id="zoom"></a>');
	$('.content a img').each(function (){
		var surc=$('a#zoom').attr('href')+$(this).attr('src');
		$('a#zoom').attr('href',surc);
	});
});

ksa 10.11.2014 08:31

Цитата:

Сообщение от AxelS
так и не понял как использовать each

Если у тебя есть целая коллекция элементов и тебе нужно работать с ними по отдельности - используй метод each.
Он даст тебе ДОМ-ссылку на текущий элемент - this. Используй ее по своему разумению...

AxelS 10.11.2014 10:07

$('a#zoom').attr('href')+

эту часть я не понял совсем, да и она в пути даёт undefined-убрал.
путь с картинки всё равно возвращает только первого элемента:( вот теоретически понимаю как each работает, а практически не получается сделать

рони 10.11.2014 10:16

AxelS,
$(function(){
	$('.content img').each(function (i,el){
	    $(el).wrap($('<a/>',{'href': el.src, 'class' : 'zoom'}))
	});
});

id уникально !!!

ksa 10.11.2014 10:21

Цитата:

Сообщение от AxelS
эту часть я не понял совсем, да и она в пути даёт undefined-убрал.

Так я х/з, что там у тебя... :) Просто пример твой поправил как понял...

AxelS 10.11.2014 10:37

Спасибо. Теперь вроде бы понял. Да, знаю, что уникальный. Спасибо.


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