Actualmente utilizo una función y un listener para cambiar la "class" de un DIV cuando se pulsa un botón. El mismo está dentro de la DIV, y al pulsar el botón cambia su aspecto.
Código Javascript:
Ver original
<script type="text/javascript"> function changeClass() { var elemento /* elemento es el DIV */ document.getElementById("elemento").className += " best-price"; } window.onload = function() { var radio document.getElementById("boton").addEventListener( 'click' , changeClass ); } </script>
El tema es que esto tengo que aplicarlo ahora a 40 elementos DIV y cada uno de ellos tiene 10 botones que actúan de "radiobuttons", por lo que el tema se complica y no quiero meter mucho código. La idea es que es un cuestionario con 40 preguntas (cada una de ellas en un div) y una escala de 10 valores para responder (con botones que hacen de radiobuttons). Quiero hacer que cuando una persona responda a esa pregunta cambie su aspecto para que el usuario vea que ya la ha respondido.
El id de los DIV será id=q1,q2,q3...q40
A los botones id=q1_1,q1_2,q1_3,etc.
¿Qué utilizaríais?
Si utilizo código en cada botón para llamar a una función, como son en total 400 botones igual estoy complicando el asunto. Por ejemplo:
En los botones
Código Javascript:
Ver original
onclick="preguntaRespondida(this)"
En cambio si utilizo el listener de arriba, no sé como hacerlo para que me valga para cualquier botón y capa div. Además no sé si es conveniente y si puede afectar a otros elementos fuera del formulario en el evento "click".
¿Qué me recomendáis? He encontrado varios métodos cada cuál distinto, pero para este caso de 40 divs y 400 botones en total?
Gracias!
JC