<style>
.visible {
display: block !important;
}
#accordion p {
display: none;
}
#accordion span {
cursor: pointer;
}
</style>
<div id="accordion">
<span class="opened">Ссылка 1</span>
<p class="visible">Текст по ссылке 1</p>
<br>
<span>Ссылка 2</span>
<p>Текст по ссылке 2</p>
<script>
(function() {
var accordion = document.getElementById('accordion');
accordion.onclick = function(e){
if (e.target.nodeName === 'SPAN') {
var opened = accordion.querySelectorAll('.opened');
for (var i = 0; i < opened.length; i++) {
opened[i].classList.remove('opened');
opened[i].nextElementSibling.classList.remove('visible');
}
e.target.classList.add('opened');
e.target.nextElementSibling.classList.add('visible');
}
}
})()
</script>
Как-то так. Только этот код не кроссбраузерный. Да и вообще, можно было бы и красивее сделать)