jqueryを折りたたみてdivを展開します。動作しますが、[+]とスパン[-]のみがクリック可能であるという問題に直面していますが、liは<li>main link 1<span>[+]</span>
クリック可能であることを意味します
<ul class="link">
<li>main link 1<span>[+]</span>
<ul class="inner_div">
<li><a>test 1</a>
</li>
<li><a>test 2</a>
</li>
<li><a>test 3</a>
</li>
</ul>
</li>
</ul>
<ul class="link">
<li>main link 2<span>[+]</span>
<ul class="inner_div">
<li><a>test 1</a>
</li>
<li><a>test 2</a>
</li>
<li><a>test 3</a>
</li>
</ul>
</li>
</ul>
<ul class="link">
<li>main link 3<span>[+]</span>
<ul class="inner_div">
<li><a>test 1</a>
</li>
<li><a>test 2</a>
</li>
<li><a>test 3</a>
</li>
</ul>
</li>
</ul>
<ul class="link">
<li>main link 4<span>[+]</span>
<ul class="inner_div">
<li><a>test 1</a>
</li>
<li><a>test 2</a>
</li>
<li><a>test 3</a>
</li>
</ul>
</li>
スクリプトは:-
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"> </script>
<script>
$('.link span').click(function () {
var $ul = $(this).next();
$(".inner_div").not( $ul ).hide();
$( '.link span' ).html( '[+]' );
if( !$ul.is( ':visible' ) ) {
$( this ).html( '[–]');
}
$ul.slideToggle();
});
$(document).ready(function(){
$( '.link' ).first().click();
});
</script>
cssは:-
.inner_div{ display:none; }
.link span { float: right; cursor: pointer; }
私を助けてください。