相当于Internet Explorer中的"parentNode"

Mat*_*del 5 javascript internet-explorer dom

我写了一些代码来修改网页上的图像.适用于Firefox和Safari.但是试图让它与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+"')");
}
Run Code Online (Sandbox Code Playgroud)

小智 13

问题在于将parentNode分配给名为"parent"的var.这似乎是IE中一个破坏代码的保留字.更改var名称,它应该工作.

  • `parent`不是**保留字.如果你使用`var parent = images [a] .parentNode;`它会没问题的.`parent`是一个宿主对象,它提供对窗口对象父帧的引用,并且显然(并且在法律上)不能在IE中设置,并且`parent = images [a] .parentNode;`尝试设置它. (9认同)