| 
	| 
	
	| 
		
	| 
			
			 
			
				05.10.2017, 19:21
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 17.11.2014 
						Сообщений: 403
					 
		
 |  |  
	| 
				Получить элементы внутри блока по порядку и присвоить свое значение
			 Добрый день. Есть следующий кусок html: 
<div class="task-list">
	<div id="task-1" class="task" data-name="category">
		<p>Категории</p>
		<a href="#" class="icon-pencil">✎</a>
	</div>
	<div id="task-2" class="task" data-name="size">
		<p>Размер</p>
		<a href="#" class="icon-pencil">✎</a>
	</div>
	<div id="task-3" class="task" data-name="color">
		<p>Цвет</p>
		<a href="#" class="icon-pencil">✎</a>
	</div>
	<div id="task-4" class="task" data-name="brend">
		<p>Производитель</p>
		<a href="#" class="icon-pencil">✎</a>
	</div>
</div>
 
Как последовательно получить data-name всех дивов внутри task-list и присвоить им значения? Например, должно получиться: 
category:10,size:20,color:30,brend:40 
Спасибо |  |  
	| 
		
	| 
			
			 
			
				05.10.2017, 19:38
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 14.01.2015 
						Сообщений: 12,989
					 
		
 |  |  
	| 
$(function() {
    $('[data-name]').each(function() {
        var attr = this.getAttribute('data-name') + ':30';
        this.setAttribute('data-name', attr)
    });
});
 |  |  
	| 
		
	| 
			
			 
			
				05.10.2017, 19:43
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 17.11.2014 
						Сообщений: 403
					 
		
 |  |  
	| Спасибо. Правда, я наверно не очень правильно выразил мысль. Мне нужно не изменить data-name, а просто, получить весь список и передать в переменную. В итоге моя переменная на выходе должна содержать category:10,size:20,color:30,brend:40 Чтобы потом обработать через ajax, или есть более элегантное решение? |  |  
	| 
		
	| 
			
			 
			
				05.10.2017, 19:45
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 17.06.2016 
						Сообщений: 509
					 
		
 |  |  
	| Янковиц, 
Некоторые спешат, невнимательно читают условие... Вот верный вариант.    
$('[data-name]').attr('data-name', function(i, v) {
   return v+=':'+(++i*10);
});
 |  |  
	| 
		
	| 
			
			 
			
				05.10.2017, 19:49
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 17.11.2014 
						Сообщений: 403
					 
		
 |  |  
	| Не совсем понял как загнать в переменную... Простите, мозк не соображает, а работу делать надо   |  |  
	| 
		
	| 
			
			 
			
				05.10.2017, 19:49
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 14.01.2015 
						Сообщений: 12,989
					 
		
 |  |  
	| 
	
 
	| Сообщение от Янковиц |  
	| В итоге моя переменная на выходе должна содержать category:10,size:20,color:30,brend:40 |  
	
 Все понятно вы пишите, только не поясняете зависимости 10, 20, ... со значением атрибутов, что догадываться изволите? |  |  
	| 
		
	| 
			
			 
			
				05.10.2017, 19:50
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 17.06.2016 
						Сообщений: 509
					 
		
 |  |  
	| 
	
 
	| Сообщение от Янковиц |  
	| В итоге моя переменная на выходе должна содержать category:10,size:20,color:30,brend:40 Чтобы потом обработать через ajax, или есть более элегантное решение? |  
	
 Тогда, да
 
var str = $('[data-name]').attr('data-name', function(i, v) {
   return v+=':'+(++i*10);
}).map(function(indx, el) {
  return $(el).data('name');
}).get().join(',');
 |  |  
	| 
		
	| 
			
			 
			
				05.10.2017, 19:53
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 17.11.2014 
						Сообщений: 403
					 
		
 |  |  
	| 
	
 
	| Сообщение от laimas   |  
	| Все понятно вы пишите, только не поясняете зависимости 10, 20, ... со значением атрибутов, что догадываться изволите? |  
	
 Простите.. Если первый div, то data-name присвоить 10, если второй, то 20 и так далее. Заведомо не известно, див с каким data-name будет первым, а какой последующий не известно... |  |  
	| 
		
	| 
			
			 
			
				05.10.2017, 19:54
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 17.11.2014 
						Сообщений: 403
					 
		
 |  |  
	| 
var str = $('[data-name]').attr('data-name', function(i, v) {
   return v+=':'+(++i*10);
}).map(function(indx, el) {
  return $(el).data('name');
}).get().join(',');
Не совсем понимаю, где здесь переменная |  |  
	| 
		
	| 
			
			 
			
				05.10.2017, 19:55
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 17.06.2016 
						Сообщений: 509
					 
		
 |  |  
	| Янковиц,снизу - alert(str);
 |  |  |  |