The + and – approach would require coding.
However, for a similar effect (viewing one group at a time), you could use the underlying twitter bootstrap. Add the following to a new WordPress page and preview the output:
<div id="myAccordion" class="accordion">
<div class="accordion-group">
<div class="accordion-heading">
<a href="#collapseOne" data-parent="#myAccordion" data-toggle="collapse" class="accordion-toggle">1. What is HTML?</a>
</div>
<div class="accordion-body collapse" id="collapseOne">
<div class="accordion-inner">
<p>HTML stands for HyperText Markup Language. HTML is the main markup language for describing the structure of Web pages. <a href="https://www.tutorialrepublic.com/html-tutorial/" target="_blank">Learn more.</a></p>
</div>
</div>
</div>
<div class="accordion-group">
<div class="accordion-heading">
<a href="#collapseTwo" data-parent="#myAccordion" data-toggle="collapse" class="accordion-toggle">2. What is Twitter Bootstrap?</a>
</div>
<div class="accordion-body collapse in" id="collapseTwo">
<div class="accordion-inner">
<p>Twitter Bootstrap is a powerful front-end framework for faster and easier web development. It is a collection of CSS and HTML conventions. <a href="https://www.tutorialrepublic.com/twitter-bootstrap-tutorial/" target="_blank">Learn more.</a></p>
</div>
</div>
</div>
<div class="accordion-group">
<div class="accordion-heading">
<a href="#collapseThree" data-parent="#myAccordion" data-toggle="collapse" class="accordion-toggle">3. What is CSS?</a>
</div>
<div class="accordion-body collapse" id="collapseThree">
<div class="accordion-inner">
<p>CSS stands for Cascading Style Sheet. CSS allows you to specify various style properties for a given HTML element such as colors, backgrounds, fonts etc. <a href="https://www.tutorialrepublic.com/css-tutorial/" target="_blank">Learn more.</a></p>
</div>
</div>
</div>
</div>
This comes from a tutorial here: https://www.tutorialrepublic.com/twitter-bootstrap-tutorial/bootstrap-accordion.php
If you want several items to stay open at the same time, then instead of using data-parent="#myAccordion"
, use data-target="#collapseOne"
(/Two /Three etc.)