【发布时间】:2021-02-10 22:26:16
【问题描述】:
我的 jquery 出现问题,没有显示和隐藏适当的元素。我有一个与常见问题解答特定部分相关的项目列表,当单击每个 Li 时,它应该隐藏除它所属的部分之外的所有部分。这工作得很好,直到我在 li 中添加了“a”标签,因为每个标签都需要一个特定的链接。当我这样做时,出于某种原因,无论我单击哪个部分,都只显示第一部分,而其他所有部分均不显示。
这里是代码
html:
<div class="faq-intro">
<div class="faq-list">
<ul id="main-nav">
<li class="nav active"><a href="#shipping">Shipping</a></li>
<li class="nav"><a href="#returns">returns</a></li>
<li class="nav"><a href="#custom">Custom Orders</a></li>
<li class="nav"><a href="#replacements">Replacements/ Warranty</a></li>
<li class="nav"><a href="#mostFAQs">Most Frequently Asked Questions</a></li>
<li class="nav"><a href="#RAD">RAD Principles</a></li>
<li class="nav"><a href="#environmental">Environmental Stewardship</a></li>
<li class="nav"><a href="#USA">MADE in the USA</a></li>
</ul>
</div>
</div>
<div class="second-faq-container">
<div class="faq-container">
main section content
</div>
<div class="faq-container">
main section content
</div>
<div class="faq-container">
main section content
</div>
<div class="faq-container">
main section content
</div>
<div class="faq-container">
main section content
</div>
<div class="faq-container">
main section content
</div>
<div class="faq-container">
main section content
</div>
<div class="faq-container">
main section content
</div>
</div
js
constructor($navigation, $content) {
this.$navigation = $navigation;
this.$content = $content;
}
this.$navigation.on("click", ".nav", (event) => {
this.$content.hide();
$(this.$content[$(target).index()]).show();
});
使用的参数是:
new Faq($("#main-nav"), $("div.faq-container"));
【问题讨论】:
标签: javascript html jquery toggle show-hide