Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] document.getElementById aplicar a class="" ?

Estas en el tema de document.getElementById aplicar a class="" ? en el foro de Javascript en Foros del Web. Hola, mi intención es que un mismo script afecte a mas de un div, se me acudió que en vez de apuntarlo a un "ID" ...
  #1 (permalink)  
Antiguo 14/11/2014, 04:12
 
Fecha de Ingreso: agosto-2014
Mensajes: 294
Antigüedad: 9 años, 8 meses
Puntos: 4
document.getElementById aplicar a class="" ?

Hola, mi intención es que un mismo script afecte a mas de un div, se me acudió que en vez de apuntarlo a un "ID" que apunte a un "CLASS" pero no se si es posible hacer eso con javascript?

El codigo que tengo es el siguiente:

document.getElementById("etiquetaclasss").style.di splay = "none";

Hay forma de que ID: etiquetaclasss sea CLASS ?

No se si me explico.. cualquier ayuda se agradece !!

+1
  #2 (permalink)  
Antiguo 14/11/2014, 04:25
Avatar de Trublux  
Fecha de Ingreso: octubre-2010
Ubicación: Madrid
Mensajes: 355
Antigüedad: 13 años, 6 meses
Puntos: 48
Respuesta: document.getElementById aplicar a class="" ?

Usa:
Código Javascript:
Ver original
  1. document.getElementsByClassName("clase");
__________________
eZ Publish Developer Basic Legacy
eZ Publish Developer Basics (4.4)
Alojamientos rurales en España
  #3 (permalink)  
Antiguo 14/11/2014, 06:36
 
Fecha de Ingreso: agosto-2014
Mensajes: 294
Antigüedad: 9 años, 8 meses
Puntos: 4
Respuesta: document.getElementById aplicar a class="" ?

Muchisimas Gracias! Pero creo que hago algo mal, lo pongo de este modo:

document.getElementsByClassName("etiquetaclass").s tyle.display = "none";

pero no me hace la función..




Cita:
Iniciado por Trublux Ver Mensaje
Usa:
Código Javascript:
Ver original
  1. document.getElementsByClassName("clase");
  #4 (permalink)  
Antiguo 14/11/2014, 06:37
 
Fecha de Ingreso: agosto-2014
Mensajes: 294
Antigüedad: 9 años, 8 meses
Puntos: 4
Respuesta: document.getElementById aplicar a class="" ?

Muchisimas Gracias! Pero creo que hago algo mal, lo pongo de este modo:

Código HTML:
 document.getElementsByClassName("etiquetaclass").style.display = "none";
pero no me hace la función..
  #5 (permalink)  
Antiguo 14/11/2014, 06:38
 
Fecha de Ingreso: agosto-2014
Mensajes: 294
Antigüedad: 9 años, 8 meses
Puntos: 4
Respuesta: document.getElementById aplicar a class="" ?

Pongo el codio completo por si eso ayuda..

Código PHP:
<script type="text/javascript">
var 
now = new Date();
switch(
now.getDay()){
    case 
0: case 5:  case 6:
        
document.getElementsByClassName("etiquetaclass").style.display "none";
        break;
}
</script> 
  #6 (permalink)  
Antiguo 14/11/2014, 12:18
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: document.getElementById aplicar a class="" ?

Cuando tomas elementos por su clase, se selecciona una lista de nodos, por lo que no es posible aplicar dicha propiedad de esa manera a todos los elementos seleccionados. Necesitas utilizar un bucle para aplicar la propiedad en cada elemento.

Código Javascript:
Ver original
  1. [].forEach.call(document.querySelectorAll(".etiquetaclass"), function(elemento){
  2.     elemento.style.display = "none";
  3. });

Y para que no tengas problemas en navegadores antiguos con el uso de los métodos forEach y querySelectorAll, implementa estos dos algoritmos al inicio de tu archivo JS.

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
  #7 (permalink)  
Antiguo 16/11/2014, 09:30
 
Fecha de Ingreso: agosto-2014
Mensajes: 294
Antigüedad: 9 años, 8 meses
Puntos: 4
Respuesta: document.getElementById aplicar a class="" ?

Muchisimas Gracias! Funciona de maravilla! +1 y disculpa por no haber podido escribir antes!


Cita:
Iniciado por Alexis88 Ver Mensaje
Cuando tomas elementos por su clase, se selecciona una lista de nodos, por lo que no es posible aplicar dicha propiedad de esa manera a todos los elementos seleccionados. Necesitas utilizar un bucle para aplicar la propiedad en cada elemento.

Código Javascript:
Ver original
  1. [].forEach.call(document.querySelectorAll(".etiquetaclass"), function(elemento){
  2.     elemento.style.display = "none";
  3. });

Y para que no tengas problemas en navegadores antiguos con el uso de los métodos forEach y querySelectorAll, implementa estos dos algoritmos al inicio de tu archivo JS.

Saludos

Etiquetas: class
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 21:10.