웹 페이지의 이미지를 수정하는 코드를 작성했습니다. 파이어 폭스와 사파리에서 작동합니다. 그러나 인터넷 익스플로러와 함께 작동 시키려고 노력하는 것은 저를 곤란하게합니다. 탐색기에서 "parentNode"에 해당하는 항목은 무엇입니까? 아니면 어떻게 작동 시키는가?Internet Explorer의 "parentNode"와 같습니다.
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+"')");
}
몇 가지 일반적인 의견 :'images','parms','a' 및'parent'를 로컬로 선언 할 때'var'을 사용하십시오; 'setAttribute'를 사용하여'href'를 설정하지 말고 대신'parent.href'를 사용하십시오 (IE freaks out); 아마도'parms'가 (일반적인 객체 대신에) 배열이되기를 원할 것입니다 :'var parms = [];'; [obsolete] (http://dev.w3.org/html5/markup/img.html) 인'border' 속성 대신에'images [a] .style.border = "none"'을 설정하기를 원할 것입니다 # img.attrs.border). –
문제를 재현 할 수 있도록 일부 HTML을 제공해 주시겠습니까? –
(Firefox에서 작동하지만 IE가 아닌) 코드의 예는 다음과 같습니다. http://woodgears.ca/workshop/jacques/min.html 멋진 이미지 확대/축소 효과입니다. 탐색기 (또는 오페라) –