Cita:
Iniciado por caricatos Hola:
Código:
if (losdivs[i].getAttribute('class') == 'uno'){
losdivs[i].style.color ='red';
Estoy seguro que el problem es : losdivs[i].getAttribute('class')...
Algo que funciona desde tiempos inmemoriales es:
losdivs[i].className...
Saludos
Cita:
Iniciado por zerokilled si bien recuerdo, hasta la versión iexplorer7, el método getAttribute/setAttribute estaba mal implementado. particularmente, en lugar del método recibir el nombre de un atributo tal cual, parece que admitía más el nombre de una propiedad. de modo que en lugar de pasar como valor "class", tenias que pasar el equivalente en javascript: "className". de todos modos, se puede corregir simplemente prescindiendo de los métodos por el uso directo de las propiedades. de momento es lo único que veo que pudiera fallar.
Lo que me imaginaba, getAttribute, no podía ser otra cosa >.<
Cita:
Iniciado por emprear En cuanto a
[].slice.call(document.querySelectorAll('.uno')).for Each(function(elemento){ elemento.className += ' nuevocolor'; });
los errores son los que señalé antes
Saludos
Bueno, esto estaba claro desde un principio que no iba a funcionar por debajo de IE8, y por el forEach diría que ni siquiera en este.
Sin embargo me extraña el error de que "this no es un objeto JavaScript". Según yo lo entiendo, el error se produce en el Array.prototype.slice, que es para pasar de NodeList a array. Claro, las implementaciones del DOM son vendor specific, así que podría ser que algo fallara por la manera en que está construido; sin embargo si es IE8 estoy seguro de que funciona, o al menos funcionaba.
La verdad no sé dónde está el error, pero teniendo en cuenta que es IE, vete tú a saber