Могу предложить код на "чистом javascript". Может поможет
<style>
UL { margin: 0px; }
LI { list-style-type: none; }
</style>
<ul>
<li><div>a1</div>
<ul>
<li><div>b1</div>
<ul>
<li><div>c1</div></li>
<li><div>c2</div></li>
<li><div>c3</div></li>
</ul>
</li>
<li><div>b2</div></li>
<li><div>b3</div></li>
</ul>
</li>
<li><div>a2</div>
<li><div>a3</div>
</ul>
<script>
var allDivs = document.getElementsByTagName('div')
for(var i = 0; i < allDivs.length; i++){
var element = allDivs[i], count = 0
while(element){
if(element.tagName == 'UL') count++
element = element.parentNode
}
allDivs[i].style.marginLeft = 30*count + 'px'
}
</script>