Answer the question
In order to leave comments, you need to log in
How to make a tree using jQuery?
Good day!
There is a large list like this:
<ul>
<li data-category-id="1" data-category-parent-id=""></li>
<li data-category-id="2" data-category-parent-id="1"></li>
<li data-category-id="3" data-category-parent-id=""></li>
<li data-category-id="4" data-category-parent-id=""></li>
<li data-category-id="5" data-category-parent-id="1"></li>
<li data-category-id="6" data-category-parent-id=""></li>
<li data-category-id="7" data-category-parent-id=""></li>
<li data-category-id="8" data-category-parent-id="3"></li>
<li data-category-id="9" data-category-parent-id="6"></li>
<li data-category-id="10" data-category-parent-id="6"></li>
</ul>
<ul>
<li data-category-id="1" data-category-parent-id="">
<ul>
<li data-category-id="2" data-category-parent-id="1"></li>
<li data-category-id="5" data-category-parent-id="1"></li>
</ul>
</li>
<li data-category-id="3" data-category-parent-id="">
<ul>
<li data-category-id="8" data-category-parent-id="3"></li>
</ul>
</li>
<li data-category-id="4" data-category-parent-id=""></li>
<li data-category-id="6" data-category-parent-id="">
<ul>
<li data-category-id="9" data-category-parent-id="6"></li>
<li data-category-id="10" data-category-parent-id="6"></li>
</ul>
</li>
<li data-category-id="7" data-category-parent-id=""></li>
</ul>
$(document).ready(function() {
$("li").each(function () {
var parentId = $(this).data('category-id');
var test = $("li[data-category-parent-id = " + parentId + "]").html();
if (test) {
$(this).append("<ul><li>" + test + "</li><ul>");
}
});
});
Answer the question
In order to leave comments, you need to log in
$('li[data-category-parent-id=""]').append("<ul></ul>");
$("li").each(function(){
var dts = this.dataset.categoryParentId;
dts&&$("li[data-category-id="+dts+"] > ul").append(this);
});
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question