Получить элементы внутри блока по порядку и присвоить свое значение
Добрый день. Есть следующий кусок 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 Спасибо |
$(function() { $('[data-name]').each(function() { var attr = this.getAttribute('data-name') + ':30'; this.setAttribute('data-name', attr) }); }); |
Спасибо. Правда, я наверно не очень правильно выразил мысль. Мне нужно не изменить data-name, а просто, получить весь список и передать в переменную. В итоге моя переменная на выходе должна содержать category:10,size:20,color:30,brend:40 Чтобы потом обработать через ajax, или есть более элегантное решение?
|
Янковиц,
Некоторые спешат, невнимательно читают условие... Вот верный вариант. :) $('[data-name]').attr('data-name', function(i, v) { return v+=':'+(++i*10); }); |
Не совсем понял как загнать в переменную... Простите, мозк не соображает, а работу делать надо ;)
|
Цитата:
|
Цитата:
var str = $('[data-name]').attr('data-name', function(i, v) { return v+=':'+(++i*10); }).map(function(indx, el) { return $(el).data('name'); }).get().join(','); |
Цитата:
|
var str = $('[data-name]').attr('data-name', function(i, v) { return v+=':'+(++i*10); }).map(function(indx, el) { return $(el).data('name'); }).get().join(','); Не совсем понимаю, где здесь переменная |
Янковиц,
снизу - alert(str); |
Часовой пояс GMT +3, время: 16:47. |