Reputation: 1734
I'm new on jquery. I have a list with sub list. I want to apply expand/collapse function to all of them.
html:
<ul class="tree-child">
<li class="link">
<span><a href="#">folderrename</a></span>
<ul>
<li class="link">
<span><a href="#">TR</a></span>
<ul>
<li class="link">
<span><a href="#">Test</a></span>
</li>
</ul>
</li>
<li class="link">
<span><a href="#">movefolder</a></span>
</li>
<li class="link">
<span class=""><a href="#">Rel 7.60_SOLASE</a></span>
</li>
<li class="link">
<span><a href="#">TestStdFolder1</a></span>
</li>
</ul>
</li>
</ul>
I want to expand/collapse on <span><a href="#">folderrename</a></span>
on click with + and - icon. For icon I use font awesome.
How to do this?
Upvotes: 1
Views: 3392
Reputation: 67525
You could use slideToggle()
:
$('#folder_rename').on('click',function(){
$(this).next('ul').slideToggle();
})
Hope this helps.
$('span').on('click',function(){
$(this).next('ul').slideToggle();
$(this).find('i').toggleClass('fa-minus fa-plus');
})
span{
cursor: pointer;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="http://netdna.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css" rel="stylesheet"/>
<ul class="tree-child">
<li class="link">
<span id='folder_rename'>
<i class="fa fa-minus"></i>
<a href="#">folderrename</a></span>
<ul>
<li class="link">
<span><i class="fa fa-minus"></i><a href="#">TR</a></span>
<ul>
<li class="link">
<span><a href="#">Test</a></span>
</li>
</ul>
</li>
<li class="link">
<span><a href="#">movefolder</a></span>
</li>
<li class="link">
<span class=""><a href="#">Rel 7.60_SOLASE</a></span>
</li>
<li class="link">
<span><a href="#">TestStdFolder1</a></span>
</li>
</ul>
</li>
</ul>
Upvotes: 2