我无法删除或添加div
内的课程,并在.wew
可见时尝试删除课程.st-collapse
,如果{{1}则添加课程.wew1
}}
隐藏
所以我的流程转到每个父div并找到它的div子
我的HTML
.st-collapse

这是我的剧本
<div class="st">
<div class="st-heading wew">
<a href="#">Link 1</a>
</div>
<div class="st-collapse">
<ul>
<li><a href="#">Sub-Link 1</a></li>
<li><a href="#">Sub-Link 2</a></li>
<li><a href="#">Sub-Link 3</a></li>
</ul>
</div>
</div>
<div class="st">
<div class="st-heading wew">
<a href="#">Link 1</a>
</div>
<div class="st-collapse">
<ul>
<li><a href="#">Sub-Link 1</a></li>
<li><a href="#">Sub-Link 2</a></li>
<li><a href="#">Sub-Link 3</a></li>
</ul>
</div>
</div>
&#13;
答案 0 :(得分:1)
我不是100%肯定(我可能确实70%确定)你的问题是什么,因为你发表了一个声明而不是一个问题。所以,如果我离开或关闭或其他什么,请告诉我。
没有提供类,我认为它必须具有一定的重要性,因为我们正在处理visibility
和两个类(可能具有涉及display
,visibility
的截然相反的属性,和/或opacity
。所以我创建了自己的课程.off
和.on
。
.st-heading.on + .st-collapse {
opacity: 1;
}
.st-heading.off + .st-collapse {
opacity: 0;
}
相关课程属于.st-header
所以我添加了+
相邻的兄弟选择器,以表明.st-collapse
的可见性取决于.st-heading
是.off
}或.on
。我通过以下方式缩短了jQuery:
...删除.each()
因为使用jQuery,您不需要在简单的情况下具体。 $('.st-heading')
也会在页面上找到每个.st-heading
...
...将add/removeClass()
替换为toggleClass()
<!DOCTYPE html>
<html>
<head>
<script data-require="jquery@2.2.4" data-semver="2.2.4" src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<style>
.st-heading.on + .st-collapse {
opacity: 1;
}
.st-heading.off + .st-collapse {
opacity: 0;
}
</style>
</head>
<body>
<section class="st">
<div class="st-heading off">
<a href="#">Link 1</a>
</div>
<div class="st-collapse">
<ul>
<li>
<a href="#">Sub-Link 1</a>
</li>
<li>
<a href="#">Sub-Link 2</a>
</li>
<li>
<a href="#">Sub-Link 3</a>
</li>
</ul>
</div>
</section>
<section class="st">
<div class="st-heading on">
<a href="#">Link 1</a>
</div>
<div class="st-collapse">
<ul>
<li>
<a href="#">Sub-Link 1</a>
</li>
<li>
<a href="#">Sub-Link 2</a>
</li>
<li>
<a href="#">Sub-Link 3</a>
</li>
</ul>
</div>
</section>
<script>
$(".st-heading").toggleClass('on off');
</script>
</body>
</html>
&#13;
答案 1 :(得分:0)