Siend, Проблема в том, что создается несколько ul, а должен быть один. Я уже по аналогии попытался доделать, но пришлось вынести пустой блок
<ul class="nav nav-tabs"></ul>
<html>
<head>
</head>
<body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<div id="parrent">
<ul class="nav nav-tabs">
</ul>
<div class="tab-content">
<div class="tab-pane fade in active" id="tab-1">
<h2 class="title-tab"> TEST-1</h2>
<p>SomeText SomeText SomeText SomeText</p>
</div>
<div class="tab-pane fade in active" id="tab-2">
<h2 class="title-tab"> TEST-2</h2>
<p>SomeText SomeText SomeText SomeText</p>
</div>
</div>
</div>
<script>
var l = $(".tab-pane").length-1
for (var i=l; i>=0; i--){
$("<li><a href='#"+$($(".tab-pane")[i]).attr("id")+"' data-toggle='tab'>"+$($(".tab-pane")[i]).find(".title-tab").html()+"</a></li>").prependTo($(".nav-tabs"))
}
</script>
</body>
</html>
Скажете, а можно его тоже вначале создать как-нибудь?
Вот пример -
https://jsfiddle.net/c30rbb6c/18/