Foros del Web » Programando para Internet » Javascript »

getElementById no accede a elementos no visibles

Estas en el tema de getElementById no accede a elementos no visibles en el foro de Javascript en Foros del Web. Buenos días a todos, soy nuevo en este foro y espero poder ayudar en algún momento. Estoy trabajando con una aplicación web hecha en Javascript ...
  #1 (permalink)  
Antiguo 22/09/2015, 11:07
 
Fecha de Ingreso: septiembre-2015
Mensajes: 2
Antigüedad: 9 años, 3 meses
Puntos: 0
getElementById no accede a elementos no visibles

Buenos días a todos, soy nuevo en este foro y espero poder ayudar en algún momento.
Estoy trabajando con una aplicación web hecha en Javascript por otras personas, se trata de una especie de hoja de cálculo basada en una tabla, algunas celdas de la tabla no se ven por tanto hay que usar la barra de desplazamiento para verlas, el problema que tengo es que cuando intento acceder al contenido de algún elemento <td> mediante document.getElementById("celda_A5") por ejemplo, si la celda está visible al usuario logra acceder sin problemas, pero si en el momento no es visible, no encuentra dicha celda, como si no existiera, en el momento que muevo la barra de desplazamiento y hago visible la celda, nuevamente es reconocida, es como si cuando un elemento no es visible en pantalla, la función getElementById no lograra "verlo", entonces quisiera su ayuda y que me dijeran cómo solucionar esto, teniendo en cuenta que es un programa desarrollado por otro programador y no sé si hizo algo para que esto ocurriera, tal vez buscando optimizar la aplicación.
Ya hice las pruebas con la consola de JS en Chrome y arroja "null".
Gracias de antemano y que tenga buen día.
  #2 (permalink)  
Antiguo 22/09/2015, 12:52
 
Fecha de Ingreso: enero-2015
Ubicación: Cordoba, Andalucía
Mensajes: 111
Antigüedad: 9 años, 11 meses
Puntos: 15
Respuesta: getElementById no accede a elementos no visibles

hola,

si la función o enlace al archivo js esta en el <head> muevélo al <footer> para cargar primero el html

pero vamos no me había pasado nunca algo así.
  #3 (permalink)  
Antiguo 22/09/2015, 14:00
 
Fecha de Ingreso: septiembre-2015
Mensajes: 2
Antigüedad: 9 años, 3 meses
Puntos: 0
Respuesta: getElementById no accede a elementos no visibles

Hola MrGilbertMan, si, es raro, también probé haciendo lo que me comentaste, al parece es algo que hicieron intencionalmente los programadores de la aplicación, tal vez para disminuir la carga debido a que se trata de miles de celdas.
  #4 (permalink)  
Antiguo 22/09/2015, 15:11
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 7 meses
Puntos: 528
Respuesta: getElementById no accede a elementos no visibles

getElementById no hace distinción entre elementos ocultos y visibles, en todo caso, puede que algunos no tengan ciertas propiedades.

Es posible que para ahorrar memoria se eliminen los objetos que no se muestran, y al moverse para verlos, se creen al momento.

Esto lo puedes comprobar con un depurador, por ejemplo firebug, tomando un elemento visible (inspeccionar elemento con firebug), desplazándote para ocultarlo y ver si se elimina el objeto.

Etiquetas: elementos, getelementbyid, js
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 09:04.