@VyzhaninGeorgiy

Группировка элементов с одинаковыми атрибутами?

Добрый день, есть неизвестное количество элементов которые парсятся со стороннего ресурса через PHP. Выводятся подкатегории категорий, сами категории я вывести не могу, в параметрах запроса это не предусмотрено, единственное я поставил атрибут data-rel у дочерних элементов, он содержит имя родительского. Вопрос, Как сгруппировать элементы с одинаковыми значениями в data-rel и обернуть их в div либо ul-li.
  • Вопрос задан
  • 666 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev
Седой и строгий
<div id="source">
    <div id="d1"></div>
    <div id="d2"></div>
    <div id="d3" data-rel="d1"></div>
    <div id="d4" data-rel="d1"></div>
    <div id="d5" data-rel="d2"></div>
    <div id="d6" data-rel="d3"></div>
    <div id="d7" data-rel="d3"></div>
    <div id="d8" data-rel="d3"></div>
    <div id="d9" data-rel="d5"></div>
    <div id="d10" data-rel="d5"></div>
    <div id="d11" data-rel="d5"></div>
    <div id="d12" data-rel="d10"></div>
    <div id="d13" data-rel="d10"></div>
    <div id="d14" data-rel="d10"></div>
    <div id="d15" data-rel="d13"></div>
</div>
<div id="destination"></div>


var root = $('#destination');
$('#source div').each(function(index) {
	var dataRel = $(this).data('rel');
    var itemId = $(this).attr('id').replace('d', '');
    var container = root;
    if(dataRel) {
    	container = $('#u' + dataRel.replace('d', ''));
    }
    container.append('<ul id="u'+ itemId +'"><li>' + itemId + '</li></ul>');
});


https://jsfiddle.net/TheDeadOne/vsxarq8v/
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы