寻找父Jquery的孩子

时间:2015-11-16 06:49:14

标签: javascript jquery

我在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");
});

3 个答案:

答案 0 :(得分:1)

由于ula下一个兄弟,您可以使用next来访问它。然后,您可以查看ul的{​​{1}}个孩子(children)或后代(find)并删除该课程({{3} }):

.hidden

直播示例:

&#13;
&#13;
$(this).next().children(".hidden").removeClass("hidden");
&#13;
$("a").on("click", function() {
  $(this).next().children(".hidden").removeClass("hidden");

  return false;
});
&#13;
.hidden {
  display: none;
}
&#13;
&#13;
&#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");
});