Tengo este codigo html que es el de un Acordeón que me encontré por allí, y le ando colocando algunas cosas para que se vea mas bonito:
Código:
Cómo ven tengo una función onclick=changeStyle('') que me recibe como parámetro el nombre del identificador del div del título de cada elemento del acordeón:<div id="AccordionContainer" class="AccordionContainer"> <div onclick=" runAccordion(1,100); changeStyle('Accordion1Title'); " > <div id="Accordion1Title" class="AccordionTitle" onselectstart="return false;" style="background-color: #E73E3E; "> <h1>Proyectos</h1> </div> </div> <div id="Accordion1Content" class="AccordionOpen"> <ul> <li><a href="/proyectos/">Proyectos</a></li> <li><a href="/proyectos/etapa/">Etapas</a></li> <li><a href="/proyectos/obra/">Obras</a></li> <li><a href="/proyectos/construccion/">Construcciones</a></li> </ul> </div> <div onclick="runAccordion(2, 80);changeStyle('Accordion2Title');"> <div id="Accordion2Title" class="AccordionTitle" onselectstart="return false;" style="background-color: #E73E3E; "> <h1>Presupuesto</h1> </div> <div id="Accordion2Content" class="AccordionContent"> <ul> <li><a href="/proyectos/presupuesto/">Presupuestos</a></li> <li><a href="/proyectos/capitulo/">Capitulos</a></li> <li><a href="/proyectos/subcapitulo/">SubCapitulos</a></li> <li><a href="/proyectos/apu/">APU</a></li> </ul> </div> </div> </div>
Código de changeStyle():
Código:
Solamente quiero cambiarle el color de fondo cuando se le de click, pero no lo hace. Y si pruebo con style.color si funciona. WTF!!!? He hecho de cuanta cosa y nada que me resulta, muchas gracias por leerme y ojalá alguien me ayude. function changeStyle(elementId) { var element = document.getElementById(elementId); if(element.style.backgroundColor=="#E73E3E"){ element.style.backgroundColor="#3066ff"; }else{ element.style.backgroundColor="#E73E3E"; }