Foros del Web » Programando para Internet » Javascript »

Bug document.getElementById en IE 8

Estas en el tema de Bug document.getElementById en IE 8 en el foro de Javascript en Foros del Web. Soy nuevo en el foro realmente estoy incursionando en todo esto, realmente no entiendo mucho y tampoco encontré mucha ayuda en la web. El problema ...
  #1 (permalink)  
Antiguo 25/06/2012, 00:13
Avatar de diedonadio  
Fecha de Ingreso: junio-2012
Ubicación: Mercedes, Argentina
Mensajes: 3
Antigüedad: 11 años, 10 meses
Puntos: 0
Exclamación Bug document.getElementById en IE 8

Soy nuevo en el foro realmente estoy incursionando en todo esto, realmente no entiendo mucho y tampoco encontré mucha ayuda en la web.
El problema que tengo es que estoy creando un sitio web personal y funciona correctamente en todos los navegadores excepto en IExplorer 8

Código HTML:
<script type="text/javascript"><!--//--><![CDATA[//><!--
sfHover = function() {
	if (!document.getElementsByTagName) return false;
	var sfEls1 = document.getElementById("catmenu").getElementsByTagName("li");
	for (var i=0; i<sfEls1.length; i++) {
		sfEls1[i].onmouseover=function() {
			this.className+=" sfhover1";
		}
		sfEls1[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover1\\b"), "");
		}
	}
		var sfEls1 = document.getElementById("menu").getElementsByTagName("li");
	for (var i=0; i<sfEls1.length; i++) {
		sfEls1[i].onmouseover=function() {
			this.className+=" sfhover";
		}
		sfEls1[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
		}
	}
}
El error dice estar en en la linea del codigo:
var sfEls1 = document.getElementById("catmenu").getElementsByTa gName("li");

Realmente no se que puede ser, muchas gracias!!!
  #2 (permalink)  
Antiguo 25/06/2012, 07:09
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Bug document.getElementById en IE 8

en IE necesitas declarar las variables explicitamente:

var sfHover = function() {

busca las que falten e intenta de nuevo, y postea el mensaje de error, porque en la linea que indicas no me dices nada para saber de que se trata

además lo que intentas se puede hacer con la psudoClase :hover en CSS sin tanto código
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 25/06/2012, 11:51
Avatar de diedonadio  
Fecha de Ingreso: junio-2012
Ubicación: Mercedes, Argentina
Mensajes: 3
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Bug document.getElementById en IE 8

No podria hacerlo con la psudoClase porque es un blog creado con CMS Wordpress, y la verdad no sabría como modificar todo el codigo.
El error que me da el sitio es este:

Agente de usuario: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)
Fecha: Mon, 25 Jun 2012 17:45:35 UTC


Mensaje: 'document.getElementById(...)' es nulo o no es un objeto
Línea: 19
Carácter: 2
Código: 0
URI: http://arquimercedes-lujan.com.ar/

Ese es el error que me sale en la web al abrir el sitio con IE 8. Realmente no tengo idea que podría ser.
Muchas gracias Maycoalvarez por responder!!!
  #4 (permalink)  
Antiguo 25/06/2012, 13:45
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Bug document.getElementById en IE 8

claro que se puede con CSS "hoja de estilo en cascada":

#catmenu li a:hover si es que a un link se lo quieres aplicar
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #5 (permalink)  
Antiguo 25/06/2012, 14:11
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Bug document.getElementById en IE 8

Por empezar, que es lo que se supone que qerés hacer con esa script.
en http://arquimercedes-lujan.com.ar/
no hay ningún elemento con id "catmenu" solo uno con id "menu"

esto ya es un error
var sfEls1 = document.getElementById("catmenu")

Cita:
No podria hacerlo con la psudoClase porque es un blog creado con CMS Wordpress, y la verdad no sabría como modificar todo el codigo
Se entiende menos aún, estás agregando clases via javascript (clases que deberían estar definidas en tu css) ¿y no podés agregar un simple?
#catmenu li:hover{
propiedades...
}

SAludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #6 (permalink)  
Antiguo 25/06/2012, 15:06
Avatar de diedonadio  
Fecha de Ingreso: junio-2012
Ubicación: Mercedes, Argentina
Mensajes: 3
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Bug document.getElementById en IE 8

Pude solucionar el problema, cambie la id catmenu, por menu, y la transparencia que tenia el menu se debia a que la imagen era un png y muchas veces IE lo reconoce como transparencia, cree la misma imagen en jpg y listo!
Muchas gracias, la verdad es muy bueno formar parte de este blog donde todos participan!!!!

Etiquetas: document.getelementbyid
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 20:20.