Escribí un código que modifica las imágenes en una página web. Funciona con Firefox y safari. Pero tratar de hacer que funcione con Internet Explorer me ha dejado perplejo. ¿Cuál es el equivalente de "parentNode" en el explorador? ¿O cómo se puede engañar para que funcione?Equivalente a "parentNode" en Internet Explorer
images = document.getElementsByTagName('img')
parms = {};
for (a=0;a < images.length;a++){
parent = images[a].parentNode; // <-- What to substitute for explorer?
parms[a] = {};
parms[a].bigsrc=parent.getAttribute("href");
parms[a].w_o = images[a].width;
parms[a].h_o = images[a].height;
parms[a].IsBig = false;
parms[a].loaded = false;
images[a].border=0;
parent.setAttribute("href","javascript:MakeBig('"+a+"')");
}
Solo algunos comentarios generales: use 'var' para declarar' images', 'parms',' a' y 'parent' localmente; no use 'setAttribute' para establecer' href', use 'parent.href' en su lugar (IE se asusta); es probable que desee que 'parms' sea una matriz (en lugar de un objeto general):' var parms = []; '; es probable que desee establecer 'images [a] .style.border =" none "' en lugar del atributo 'border', que es [obsoleto] (http://dev.w3.org/html5/markup/img.html # img.attrs.border). –
¿Podría proporcionar algo de HTML para que podamos reproducir el problema? –
Un ejemplo del código (funciona en Firefox pero no en IE) está aquí: http://woodgears.ca/workshop/jacques/min.html Es un efecto de acercamiento de la imagen genial, si pudiera hacerlo funcionar con explorer (u opera, para el caso) –