jQuery - 单击后显示一个 div 并关闭另一个

标签 jquery css html hide show

我正在构建我的个人网站,但遇到了一个挑战。我想这对那些比我更熟悉 jQuery 的人来说是没有的(不难);)

结构:

<a href>one</a>
<div id="hidden_one></div>

<a href>two</a>
<div id="hidden_two></div>

<a href>three</a>
<div id="hidden_three></div>

<a href>four</a>
<div id="hidden_four></div>

等 换句话说,每个“a”始终显示,并在下方附加一个 div。

Action :

点击任意“a”后:

如果单击“a”在下方显示一个 div - 关闭该 div

如果单击“a”在下方没有显示 div,但显示了其他 div - 隐藏这些 div 并显示附加到此“a”的那个。

如果没有显示 div - 显示附加到这个“a”的那个。

我将不胜感激任何支持! :)

最佳答案

试试这个

$('a').on('click',function(e) {
    e.preventDefault();
    $(this).next('div').slideToggle().siblings('div').hide();
});

DEMO

关于jQuery - 单击后显示一个 div 并关闭另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23149550/

相关文章:

html - 如何在此 UI 中调整元素符号,但我需要元素符号

html - 如何将文本居中放置在白色内?

javascript - 如何在特定的 Div 上添加 Position Fixed,然后在滚动时删除该类

javascript - 将当前窗口或页面位置与正则表达式进行比较。 jQuery 或 JavaScript

javascript - 更改背景不透明度 onclick

CSS 文件未被引用

css - 我什么都试过了!显示 :inline won't work on IE

jquery - 如何使用 jQuery 从 HTML 范围中提取数字?

javascript - 如何访问 jQuery .on() 的 "first"选择器?

html - 将图像放在无序列表框中