Desarrollo de Software

Variables javascript en IE

A veces cuando estamos programando con JavaScript y probamos una página en Internet Explorer nos encontramos con el error «Object doesn’t support this property or method«. Sin embargo, en otro navegador como Chrome o Firefox funciona correctamente sin errores.

El problema viene dado porque existe alguna variable en javascript que tiene el mismo nombre que el identificador de una etiqueta html. Por ejemplo:

foo = bar();

y

<div id='foo'>

Y parece que Internet Explorer guarda en el mismo lugar los identificadores de las etiquetas junto a las variables globales y nombres de funciones de JavaScript.

Hay dos soluciones para resolver este error:

  • Renombrar una de las 2 para que no se repitan.
  • No utilizar variables globales en javascript (casi nunca es bueno utilizar variables globales) y declararlas como variables locales. En el ejemplo:
    var foo = bar();

+ info: IE id and Javascript global variable

2 comentarios en “Variables javascript en IE

  1. O sea si tengo dentro del script lo siguiente:
    var agregadosHS = document.getElementById(«agregados»);
    for(var i = 0; i < agregadosHS.options.length ; i++){
    agregadosHS[i].selected = true;
    }

    Y en el HTML lo siguiente:

    Estaria correcto no es asi?
    Me da error solo en IExplorer (firefox y Chrome funciona bien)
    Agregados no esta definido

Pon un comentario

Tu dirección de email no será publicada.

Puedes usar estas etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>