gpt4 book ai didi

javascript - 如何按类选择点击元素的 child

转载 作者:行者123 更新时间:2023-11-30 09:46:30 25 4
gpt4 key购买 nike

在我的 html 页面中,有一个所有类别的列表。每个类别都有一些子类别。我希望当一个列表项被点击时,它的子类别被切换,即如果它们是可见的,它们应该被隐藏,反之亦然。同样在某个时候,只有一个列表项应该能够显示其子类别。我试过 this answer ,但这没有帮助。我不介意使用 JS、JQuery 等或完全更改语法。我现在的工作是

<ul>
<li class="outer-list-element">
<a href="#" class="outer-list">category 1</a>
<ul class="inner-list" id="inner-list">
<li><a href="#">sub category 1</a></li>
<li><a href="#">sub category 2</a></li>
</ul>
</li>

<li class ="outer-list-element">
<a href="#" class="outer-list">category 3</a>
<ul class="inner-list" id="inner-list">
<li><a href="#">sub category 1</a></li>
<li><a href="#">sub category 2</a></li>
</ul>
</li>

CSS

li {
margin-bottom: 8px;
}
.inner-list {
margin-top: 10px;
display: none;
}

脚本

$('.outer-list-element').click(function () {
$(this).children().toggle();
})



$(".outer-list").click(function() {
$(this).siblings('.inner-list').toggle();
return false;
});

随时更新这个 fiddle https://jsfiddle.net/7vmtd2px/1/

最佳答案

请尝试以下代码。

$('.outer-list').click(function () {
//Hide other ul
$('ul .inner-list').not($(this).parent('li').find('ul')).hide();
//Toggle clicked ul
$(this).parent('li').find('ul').toggle();
});
li {
margin-bottom: 8px;
}
.inner-list {
margin-top: 10px;
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li class="outer-list-element">
<a href="#" class="outer-list">category 1</a>
<ul class="inner-list">
<li><a href="#">sub category 1</a></li>
<li><a href="#">sub category 2</a></li>
</ul>
</li>
<li class="outer-list-element">
<a href="#" class="outer-list">category 2</a>
<ul class="inner-list">
<li><a href="#">sub category 1</a></li>
<li><a href="#"> sub category 2</a></li>
</ul>
</li>
<li class ="outer-list-element">
<a href="#" class="outer-list">category 3</a>
<ul class="inner-list">
<li><a href="#">sub category 1</a></li>
<li><a href="#">sub category 2</a></li>
</ul>
</li>
</ul>

关于javascript - 如何按类选择点击元素的 child ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38759095/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com