Código:
Funciona en Firefox pero en IE me da error. He comprobado que lo que ocurre es que no reconoce el parámetro this.id, pero porque y cuál puede ser la solución para que funcione en IE? function añadirEvento(objeto, tipo_evento, funcion, capturar) { if (objeto) { if (objeto.attachEvent) { var r= objeto.attachEvent("on"+tipo_evento, funcion); return r; } else if (objeto.addEventListener) { objeto.addEventListener(tipo_evento, funcion, capturar); return true; } else {return false;} } } function seleccionar(id) { extension= document.getElementById(id).src.indexOf('png'); archivo= document.getElementById(id).src.substring(0,extension-1); //Error en IE: Se requiere un objeto document.getElementById(id).src= archivo+'2.png'; } function deseleccionar(id) { extension= document.getElementById(id).src.indexOf('png'); archivo= document.getElementById(id).src.substring(0,extension-2); //Error en IE: Se requiere un objeto document.getElementById(id).src= archivo+'.png'; } var imgid= new Array('negrita', 'cursiva', 'subrayado', 'tachado', 'izquierda', 'justificado', 'olist', 'ulist', 'color', 'emoticonos'); for (i=0; i<imgid.length; i++) { añadirEvento(document.getElementById(imgid[i]), 'mouseover', function(){seleccionar(this.id);}); añadirEvento(document.getElementById(imgid[i]), 'mouseout', function(){deseleccionar(this.id);}); }