Я написал некоторый код, который изменяет изображения на веб-странице. Работы с Firefox и сафари. Но tryingto добираются, этому для работы с 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+"')");
}
Проблема заключается в присвоении parentNode переменной под названием "parent". Похоже, что это зарезервированное слово в IE, которое ломает код. Измените имя переменной, и все заработает.
parentNode
отлично работает в IE (кроме некоторых случаев , которые, скорее всего, здесь не имеют значения). Ошибка почти наверняка находится в другом месте вашего кода.
Ожидаете ли вы, что parentNode будет якорем? Похоже, вы пытаетесь просто обернуть изображение ссылкой. Если это верно, то в качестве альтернативы может работать добавление onclick к самому изображению и установка курсора в виде руки.Это может создать видимость изображения как ссылки, и вам не нужно будет заботиться о том, что такое parentNode.