Foros del Web » Programando para Internet » Javascript »

Asignar Mismo Atributo a Varios Elementos con un Click

Estas en el tema de Asignar Mismo Atributo a Varios Elementos con un Click en el foro de Javascript en Foros del Web. Hola amigos, tengo esa pregunta... Como asignar un mismo atributo a varios elementos en HTML. Les cuento, lo que estoy haciendo ahora es: <a href="#NB"> ...
  #1 (permalink)  
Antiguo 23/03/2015, 02:56
Avatar de LeoNicoPerez  
Fecha de Ingreso: abril-2013
Ubicación: Argentina
Mensajes: 47
Antigüedad: 11 años
Puntos: 0
Pregunta Asignar Mismo Atributo a Varios Elementos con un Click

Hola amigos, tengo esa pregunta...
Como asignar un mismo atributo a varios elementos en HTML.


Les cuento, lo que estoy haciendo ahora es:

<a href="#NB">
<li id="X" onclick="
MR.style.opacity='0.6';
MM.style.opacity='0.6';
MC.style.opacity='0.6';>
PALABRA A CLIQUEAR</li></a>


y lo que ando buscando hacer es algo así:

<a href="#NB">
<li id="X" onclick="
MR&&MM&&MC.style.opacity='0.6';>
PALABRA A CLIQUEAR</li></a>


Pero ésto último que cité no funciona jeje!!

Hay alguna manera de agrupar ID's en un evento
así como en éste caso onclick??

Espero que me entiendan
y puedan ayudarme, abrazo grande!!
__________________
~ Admirador de Sabios | Ex. Amada Cuenta: MasterXNicoX
  #2 (permalink)  
Antiguo 23/03/2015, 04:12
Avatar de NueveReinas  
Fecha de Ingreso: septiembre-2013
Ubicación: No tan Buenos Aires
Mensajes: 1.101
Antigüedad: 10 años, 7 meses
Puntos: 145
Respuesta: Asignar Mismo Atributo a Varios Elementos con un Click

¿Puedes referenciar qué es "MR", "MM", "MC"?
Y a ser posible, también deja el código del evento onlick, por favor.
__________________
¿Te sirvió la respuesta? Deja un +1
  #3 (permalink)  
Antiguo 23/03/2015, 05:15
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 8 meses
Puntos: 578
Respuesta: Asignar Mismo Atributo a Varios Elementos con un Click

No funciona porque no se hace así.

La forma en que se hace es separando cada sentencia por ";" como haces en el primer ejemplo.
  #4 (permalink)  
Antiguo 23/03/2015, 14:16
Avatar de LeoNicoPerez  
Fecha de Ingreso: abril-2013
Ubicación: Argentina
Mensajes: 47
Antigüedad: 11 años
Puntos: 0
Respuesta: Asignar Mismo Atributo a Varios Elementos con un Click

Hola chicos, gracias por responder!!

"MR", "MM", "MC" son id's de varios Span.

Sé que hay que separar cada cosa con ; como en el primer
ejemplo, pero el código se hace muy extenso así, por eso quería
saber si se podía simplificarlo de alguna manera, por eso cité
el segundo ejemplo, aunque sé que está mal xD pero para
que se den una idea de lo que busco...
__________________
~ Admirador de Sabios | Ex. Amada Cuenta: MasterXNicoX
  #5 (permalink)  
Antiguo 23/03/2015, 14:29
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 8 meses
Puntos: 578
Respuesta: Asignar Mismo Atributo a Varios Elementos con un Click

Claro que se puede, pero existe un foro para tratar temas específicos de JavaScript.

La idea sería obtener los elementos e iterarlos mediante un bucle.
  #6 (permalink)  
Antiguo 23/03/2015, 15:30
Avatar de LeoNicoPerez  
Fecha de Ingreso: abril-2013
Ubicación: Argentina
Mensajes: 47
Antigüedad: 11 años
Puntos: 0
Respuesta: Asignar Mismo Atributo a Varios Elementos con un Click

Muchas gracias por responder nuevamente!!!
No sabía bien en qué categoría publicar ésto, podrías moverlo por favor??

No entiendo muy bien lo de los bucles jeje...
__________________
~ Admirador de Sabios | Ex. Amada Cuenta: MasterXNicoX
  #7 (permalink)  
Antiguo 23/03/2015, 20:12
Avatar de LeoNicoPerez  
Fecha de Ingreso: abril-2013
Ubicación: Argentina
Mensajes: 47
Antigüedad: 11 años
Puntos: 0
Respuesta: Asignar Mismo Atributo a Varios Elementos con un Click

Si alguien puede ayudarme o mover el tema al foro correspondiente lo agradecería!! :3
__________________
~ Admirador de Sabios | Ex. Amada Cuenta: MasterXNicoX
  #8 (permalink)  
Antiguo 23/03/2015, 20:17
Avatar de LeoNicoPerez  
Fecha de Ingreso: abril-2013
Ubicación: Argentina
Mensajes: 47
Antigüedad: 11 años
Puntos: 0
Pregunta Asignar Mismo Atributo a Varios Elementos con un Click

----
ÉSTE TEMA LO PUBLIQUÉ EN OTRA SECCIÓN, SI PUEDEN
BORREN EL OTRO TEMA, AQUÍ ES LA SECCIÓN CORRESPONDIENTE.

----

Hola amigos, tengo ésta pregunta...
Como asignar un mismo atributo a varios elementos en HTML.


Les cuento, lo que estoy haciendo ahora es:

<a href="#NB">
<li id="X" onclick="
MR.style.opacity='0.6';
MM.style.opacity='0.6';
MC.style.opacity='0.6';>
PALABRA A CLIQUEAR</li></a>


y lo que ando buscando hacer es algo así:

<a href="#NB">
<li id="X" onclick="
MR&&MM&&MC.style.opacity='0.6';>
PALABRA A CLIQUEAR</li></a>


Pero ésto último que cité no funciona jeje!!

Hay alguna manera de agrupar ID's en un evento
así como en éste caso onclick??

Espero que me entiendan
y puedan ayudarme, abrazo grande!!
__________________
~ Admirador de Sabios | Ex. Amada Cuenta: MasterXNicoX
  #9 (permalink)  
Antiguo 23/03/2015, 20:52
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Asignar Mismo Atributo a Varios Elementos con un Click

Podrías reunirlos en una lista de nodos con el método querySelectorAll, iterar dicha lista y asignar el valor en cuestión a la propiedad especificada.

Código Javascript:
Ver original
  1. [].forEach.call(document.querySelectorAll("#MR, #MM, #MC"), function(elemento){
  2.     elemento.style.opacity = 0.6;
  3. });

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #10 (permalink)  
Antiguo 23/03/2015, 21:01
Avatar de LeoNicoPerez  
Fecha de Ingreso: abril-2013
Ubicación: Argentina
Mensajes: 47
Antigüedad: 11 años
Puntos: 0
Respuesta: Asignar Mismo Atributo a Varios Elementos con un Click

Hola Alexis, gracias por tu pronta respuesta!!
Mira, no sabría como aplicar eso que me decís en mi código.

Básicamente yo tengo un enlace en un LI y que a partir de
cliquear dicho enlace, muchos div y span son afectados.

<a href="#NB">
<li id="MC" onclick="
MR.style.opacity='0.5';MM.style.opacity='0.5';MC.s tyle.opacity='1'; CMA.style.display='none';CMR.style.display='none'; CMM.style.display='none';
CMC.style.display='block';">PALABRA QUE CLIQUEO</li>
</a>


MR, MM, MC, CMA, CMR, CM y CMC son divs y spans xD
y como verás algunos atributos se repiten.

Quería ver si había alguna manera más
sencilla/simplificada/corta de escribir el ejemplo que cité...
__________________
~ Admirador de Sabios | Ex. Amada Cuenta: MasterXNicoX
  #11 (permalink)  
Antiguo 23/03/2015, 21:12
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Asignar Mismo Atributo a Varios Elementos con un Click

De la forma en la que te indiqué, es como puedes hacer lo que buscas. Para que surta efecto, colócalo entre etiquetas <script></script> justo antes de la etiqueta </body>. Si no funciona, vuelves y nos muestras el código actualizado.

Saludos

EDITO: Para que se aplique cuando pulses el <li> de id 'MC', haz esto:

Código HTML:
Ver original
  1. <li id="MC" onclick="cambiar()">TEXTO</li>

Código Javascript:
Ver original
  1. function cambiar(){
  2.     [].forEach.call(document.querySelectorAll("#MR, #MM, #MC"), function(elemento){
  3.         elemento.style.opacity = 0.6;
  4.     });
  5.  
  6.     [].forEach.call(document.querySelectorAll("#CMA, #CMR, #CMM"), function(elemento){
  7.         elemento.style.display = "none";
  8.     });
  9.  
  10.     document.querySelector("#CMC").style.display = "block";
  11. }
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Última edición por Alexis88; 23/03/2015 a las 21:32 Razón: Extensión de la solución
  #12 (permalink)  
Antiguo 23/03/2015, 21:44
Avatar de fede5426  
Fecha de Ingreso: diciembre-2014
Ubicación: Córdoba
Mensajes: 446
Antigüedad: 9 años, 4 meses
Puntos: 208
Respuesta: Asignar Mismo Atributo a Varios Elementos con un Click

Yo lo haria con Jquery, asignas una clase a los 3 span y usas esa clase para llamarlos y aplicar los estilos:

Código HTML:
Ver original
  1. <li id="X">CLIQUEAR</li>
  2.  
  3. <span id="MR" class="elspan"> </span>
  4. <span id="MM" class="elspan"> </span>
  5. <span id="MC" class="elspan"> </span>


Código Javascript:
Ver original
  1. $("#X").click(function(){
  2.  
  3.   $(".elspan").css({"opacity":"0.6"});
  4.  
  5. });

El ejemplo:
http://codepen.io/anon/pen/OPdNgQ (No prestes atencion al CSS, es solo para que se vean los cuadros y para que no quede tan serio el ejemplo :P)

  #13 (permalink)  
Antiguo 23/03/2015, 23:21
Avatar de LeoNicoPerez  
Fecha de Ingreso: abril-2013
Ubicación: Argentina
Mensajes: 47
Antigüedad: 11 años
Puntos: 0
Respuesta: Asignar Mismo Atributo a Varios Elementos con un Click

Wooo, creo que es lo que ando buscando jeje!! Muchas muchas gracias, probaré con eso!!
__________________
~ Admirador de Sabios | Ex. Amada Cuenta: MasterXNicoX
  #14 (permalink)  
Antiguo 23/03/2015, 23:24
Avatar de LeoNicoPerez  
Fecha de Ingreso: abril-2013
Ubicación: Argentina
Mensajes: 47
Antigüedad: 11 años
Puntos: 0
Respuesta: Asignar Mismo Atributo a Varios Elementos con un Click

Genial!! Lo probaré y te contaré cómo me fue!! Muchas gracias!!!
__________________
~ Admirador de Sabios | Ex. Amada Cuenta: MasterXNicoX

Etiquetas: elementos, funcion, html
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:44.