DOM setAttribute & Internet Explorer

January 11, 2008

El siguiente texto está orientado a desarrolladores web. Quien no pertenezca a este tipo de seres ¿humanos? esquívelo si quiere. Probablemente no entienda una goma :-p

Hago un copy&paste de un mail que mandó Nico (cuando me acuerde la url de su blog la actualizaré :p) a un mail interno de la empresa para compartir su experiencia del día Jueves pasado. Me pareció interesante seguir con la cadena de difusión así que aquí va!

Che, para aquellos que les interese. Acabo de tener dos problemas con el setAttribute del DOM e Internet Explorer. Dos cosas que funcionaban de maravilla en todos los demás browsers, en Internet Explorer pinchaban (eso no es lo extraño).

Las cosas que intentaba hacer era:
1. modificar el atributo “type” de un input.
2. modificar el atributo “class” de cualquier elemento.

Después de darme la cabeza por mucho tiempo hasta ver qué corno era lo que pasaba, encontré algunas cosas:

No se puede cambiar el atributo NAME
“The NAME attribute cannot be set at run time on elements dynamically created with the createElement method. To create an element with a name attribute, include the attribute and value when using the createElement method.”
[Fuente: MSDN]

No se puede cambiar el atributo TYPE
Lo más gracioso es que si hacés un setAttribute(“type”, “algunTipo”) pincha, pero si ponés setAttribute(“TYPE”, “algunTipo”) no, aunque no hace nada.
“As of Microsoft Internet Explorer 5, the |type| property is read/write-once, but only when an |input| element is created with the |createElement| method and before it is added to the document.”
[Fuente: MSDN]

El atributo “class” es “className” en Explorer
Una clase podría setearse como setAttribute(“class”, “valorClases”), pero no en Explorer. Para setear una clase en Explorer hay que hacer un setAttribute(“className”, “nombreClase”), así que hay que hacer ambos para que funcione en ambos lugares.

Creo que hay otros temas con colgar nodos en Explorer, pero no me adentré más porque ya tenía mucha bronca.

Acá hay una página que trata este tema:
http://alt-tag.com/blog/archives/2006/02/ie-dom-bugs/

PD: Esto va al margen de los frameworks onda prototypejs, no da responder “hacelo con prototype”. Tómenlo como información general.

Un veranito caliente

January 5, 2008

Parece que el cambio de horario no alcanza para hacer frente a la crisis energética que padecemos y que parece no dar tregua. Los cortes están siendo los protagonistas de un verano que promete ser bastante caluroso.

Muchos recibieron el año nuevo a oscuras y sin agua. A pesar de que las empresas de luz y agua niegan públicamente una crisis de provisión, es muy difícil comprobar que estos cortes finalicen no sólo por esta temporada sino también durante todo el 2008.

Todavía hay viviendas y comercios de Capital y Gran Buenos Aires que todavía están sin su suministro, lo que les está provocando pérdidas de distinto tipo además de tener que soportar estas altas temperaturas sin la ayuda de artefactos eléctricos.

Las protestas por estos conflictos están hoy a la orden del día, con vecinos que expresan su descontento por la falta de algo esencial para cada uno de ellos. ¿Hasta cuándo la ineficiencia del gobierno por la falta de políticas nos seguirá afectando? Esta es una pregunta cuya respuesta hoy no la tienen ni ellos mismos.

N de E: Pilar es una futura periodista, de 20 años, que tiene muchas ganas de darse a conocer. Este es un adelanto de lo que próximamente estará en su blog.

← Anterior