このようなリスト内のリンクの次の兄弟を切り替えたいのですが、
<ul>
<li><a href="#">1</a></li>
<li><a href="#">2</a>
<ul class="selected">
<li><a href="#">2.1</a></li>
<li><a href="#">2.2</a></li>
<li><a href="#">2.3</a></li>
</ul>
</li>
<li><a href="#">3</a></li>
<li><a href="#">4</a>
<ul class="selected">
<li><a href="#">4.1</a></li>
<li><a href="#">4.2</a></li>
<li><a href="#">4.3</a></li>
</ul>
</li>
<li><a href="#">5</a></li>
</ul>
これは私のjqueryです。
$(document).ready(function(){
$("a").each(function () {
if ( $(this).siblings().size() > 0)
{
$(this).append("<span class='has-child'>has child</span>");
$(this).toggle(
function (){
$("ul").removeClass("showme");
$(this).siblings(".selected").addClass("showme");
//$(this).next().css({display: "block"});
},
function (){
$(this).siblings(".selected").removeClass("showme");
//$(this).next().css({display: "none"});
});
}
});
$('ul > li > ul > li:last-child > a').css('background','yellow');
});
css、
ul > li > ul {
display:none;
}
ul > li:hover ul{
display: block;
}
.showme {
display: block;
}
まず第一に、それは問題ないようです-ターゲットの兄弟を切り替えることができますが、どの親で最初に切り替えた後、現在の親でクリック/切り替えるときに他の兄弟を非表示にするために、いつか2回クリックする必要があるのはなぜですか?
明確に説明していない場合は、ここにライブサイトがあります 。http://lauthiamkok.net/tmp/jquery/toggle/
どうもありがとう、ラウ