我在li中有一个链接,当你点击它时,它应该打开一个ul,也包含在li中。我似乎无法让它选择正确的元素。代码
HTML
<ul>
<li>
<a href="#">hi</a>
<ul>
<li class="hidden">more stuff</li>
</ul>
</li>
</ul>
CSS
.hidden{display:none;}
的js
$( "a" ).click(function() {
$(this).parent("li").children("ul").css("display","block");
});
答案 0 :(得分:1)
由于ul
是a
的下一个兄弟,您可以使用next
来访问它。然后,您可以查看ul
的{{1}}个孩子(children
)或后代(find
)并删除该课程({{3} }):
.hidden
直播示例:
$(this).next().children(".hidden").removeClass("hidden");
&#13;
$("a").on("click", function() {
$(this).next().children(".hidden").removeClass("hidden");
return false;
});
&#13;
.hidden {
display: none;
}
&#13;
答案 1 :(得分:1)
在您的代码中,您尝试显示ul
虽然它是可见的并且不会影响其下的li
,因此您需要像这样访问li
。正如评论员所说,删除元素的hidden
类以使其显示是比分配内联样式更好的方法
$(this).parent("li").children("ul").children("li").removeClass("hidden");
答案 2 :(得分:0)
检查here fiddler链接...
希望它会对你有帮助....$( "a" ).click(function() {
$(this).next().children(".hidden").removeClass("hidden");
});