Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

270
Vistas
tratando de hacer clic en el título y mostrar el detalle del párrafo

Estoy tratando de hacer un acordeón que pueda ocultarse y mostrarse según el título en el que he hecho clic. estoy usando jQuery para hacer eso

HTML

 <div class="panelContainer"><!-- 1ST PANEL--> <h2 class="h21">Do I need a website?</h2> <p class="contentBox">Morbi hendrerit accumsan orci, tristique aliquam nunc suscipit nec. Vestibulum consequat ornare nunc, ac tristique urna cursus id. Cras eu viverra leo, vitae rhoncus dui. Vestibulum rutrum neque ac risus eleifend luctus. Phasellus ultrices, enim quis dignissim tempus, nibh sem faucibus nisi, at blandit velit massa in nunc. Praesent enim libero, blandit sed massa ut, imperdiet dictum odio. Maecenas sagittis neque a est porta, at feugiat nulla tempor. Cras vitae tincidunt quam, non interdum quam. Sed imperdiet lacus nibh, eget viverra eros porta ut. Nulla sed tellus velit. Nullam quam dolor, malesuada eget bibendum a, lacinia ac ante.</p> </div> <div class="panelContainer"><!-- 2ND PANEL--> <h2 class="h21">What is SEO?</h2> <p class="contentBox">Aliquam felis orci, varius nec facilisis nec, eleifend ac ante. Donec ligula est, dapibus sed volutpat sit amet, pellentesque id sem. Vestibulum imperdiet volutpat dignissim. Morbi tincidunt lobortis libero et placerat. Pellentesque dignissim diam laoreet, ultricies ligula aliquam, consectetur sapien. Praesent luctus orci in vulputate tincidunt. Aenean fermentum ante non elementum convallis. Sed eget magna enim.</p> </div>

js

 var btnTitle=document.getElementsByClassName("h21"); var contentBox=document.getElementsByClassName('contentBox'); for(var i=0;i<btnTitle.length;i++){ btnTitle[i].addEventListener('click',function(){ var targetSection=document.querySelector(".panelContainer:nth-child(" + (i+1) + ")"); var targetContent=targetSection.querySelector(".contentBox"); for(let item of contentBox){ item.style.display='none'; } targetContent.style.display = 'block'; }); }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Use hidden y for...of , así como un simple recorrido DOM usando nextElementSibling . Esto reduce el código necesario a dos líneas.

 for (const toggle of document.getElementsByClassName("h21")) toggle.addEventListener('click', () => toggle.nextElementSibling.hidden = !toggle.nextElementSibling.hidden)
 .h21 { cursor: pointer; }
 <div class="panelContainer"> <!-- 1ST PANEL--> <h2 class="h21">Do I need a website?</h2> <p class="contentBox" hidden>Morbi hendrerit accumsan orci, tristique aliquam nunc suscipit nec. Vestibulum consequat ornare nunc, ac tristique urna cursus id. Cras eu viverra leo, vitae rhoncus dui. Vestibulum rutrum neque ac risus eleifend luctus. Phasellus ultrices, enim quis dignissim tempus, nibh sem faucibus nisi, at blandit velit massa in nunc. Praesent enim libero, blandit sed massa ut, imperdiet dictum odio. Maecenas sagittis neque a est porta, at feugiat nulla tempor. Cras vitae tincidunt quam, non interdum quam. Sed imperdiet lacus nibh, eget viverra eros porta ut. Nulla sed tellus velit. Nullam quam dolor, malesuada eget bibendum a, lacinia ac ante.</p> </div> <div class="panelContainer"> <!-- 2ND PANEL--> <h2 class="h21">What is SEO?</h2> <p class="contentBox" hidden>Aliquam felis orci, varius nec facilisis nec, eleifend ac ante. Donec ligula est, dapibus sed volutpat sit amet, pellentesque id sem. Vestibulum imperdiet volutpat dignissim. Morbi tincidunt lobortis libero et placerat. Pellentesque dignissim diam laoreet, ultricies ligula aliquam, consectetur sapien. Praesent luctus orci in vulputate tincidunt. Aenean fermentum ante non elementum convallis. Sed eget magna enim.</p> </div>

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda