Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

205
Views
¿Cómo agregar texto/botón a todos los encabezados/cuerpos de una lista plegable?

Tengo 2 listas colapsables y 2 botones, quiero que si hago clic en el primer botón, todos los encabezados de la primera lista obtengan un nuevo texto (como "Hola, mi nombre es Max") y si hago clic en el segundo botón, debe agregar un nuevo botón a todos los cuerpos de la segunda lista.

Estoy buscando una solución en JavaScript (jQuery también es posible). El problema es que soy nuevo en todo esto y no tengo idea de cómo resolver esta tarea. Estoy agradecido por cada ayuda.

Mi código:

 <ul class="collapsible" id="1"> <li> <div class="collapsible-header"><i class="material-icons">filter_drama</i>First</div> <div class="collapsible-body"><span>Lorem ipsum dolor sit amet.</span></div> </li> <li> <div class="collapsible-header"><i class="material-icons">place</i>Second</div> <div class="collapsible-body"><span>Lorem ipsum dolor sit amet.</span></div> </li> <li> <div class="collapsible-header"><i class="material-icons">whatshot</i>Third</div> <div class="collapsible-body"><span>Lorem ipsum dolor sit amet.</span></div> </li> </ul> <ul class="collapsible" id="2"> <li> <div class="collapsible-header"><i class="material-icons">filter_drama</i>First</div> <div class="collapsible-body"><span>Lorem ipsum dolor sit amet.</span></div> </li> <li> <div class="collapsible-header"><i class="material-icons">place</i>Second</div> <div class="collapsible-body"><span>Lorem ipsum dolor sit amet.</span></div> </li> <li> <div class="collapsible-header"><i class="material-icons">whatshot</i>Third</div> <div class="collapsible-body"><span>Lorem ipsum dolor sit amet.</span></div> </li> </ul> <button class="btn yellow" id="collapsible-header-green">Change text of all headers ul(id="1")</button> <button class="btn yellow" id="collapsible-body-green"> Add buttons to all body's ul(id="2")</button>
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

  1. const lista1 = documento.getElementById("1"); => obtener la primera lista
  2. const button1 = document.getElementById("collapsible-header-green"); => obtener el primer botón
  3. const elementos = list1.getElementsByClassName("encabezado plegable"); => obtener todos los encabezados plegables en list1
  4. agregue el evento onClick al botón 1, cuando haga clic en el desencadenador de eventos, cambie el texto de los elementos

Aquí está el código:

 // change text in first list when click first button const list1 = document.getElementById("1"); const button1 = document.getElementById("collapsible-header-green"); button1.onclick = function () { const elements = list1.getElementsByClassName("collapsible-header"); for (let element of elements) { element.innerHTML = "new text"; } }; // add button in second list when click second button const list2 = document.getElementById("2"); const button2 = document.getElementById("collapsible-body-green"); button2.onclick = function () { const elements = list2.getElementsByClassName("collapsible-body"); for (let element of elements) { const newButton = document.createElement("button"); newButton.innerHTML = "new button"; element.appendChild(newButton); } };
 <ul class="collapsible" id="1"> <li> <div class="collapsible-header"><i class="material-icons">filter_drama</i>First</div> <div class="collapsible-body"><span>Lorem ipsum dolor sit amet.</span></div> </li> <li> <div class="collapsible-header"><i class="material-icons">place</i>Second</div> <div class="collapsible-body"><span>Lorem ipsum dolor sit amet.</span></div> </li> <li> <div class="collapsible-header"><i class="material-icons">whatshot</i>Third</div> <div class="collapsible-body"><span>Lorem ipsum dolor sit amet.</span></div> </li> </ul> <ul class="collapsible" id="2"> <li> <div class="collapsible-header"><i class="material-icons">filter_drama</i>First</div> <div class="collapsible-body"><span>Lorem ipsum dolor sit amet.</span></div> </li> <li> <div class="collapsible-header"><i class="material-icons">place</i>Second</div> <div class="collapsible-body"><span>Lorem ipsum dolor sit amet.</span></div> </li> <li> <div class="collapsible-header"><i class="material-icons">whatshot</i>Third</div> <div class="collapsible-body"><span>Lorem ipsum dolor sit amet.</span></div> </li> </ul> <button class="btn yellow" id="collapsible-header-green">Change text of all headers ul(id="1")</button> <button class="btn yellow" id="collapsible-body-green"> Add buttons to all body's ul(id="2")</button>

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!