Показать сообщение отдельно
  #1 (permalink)  
Старый 09.06.2012, 14:19
Новичок на форуме
Отправить личное сообщение для back to back Посмотреть профиль Найти все сообщения от back to back
 
Регистрация: 09.06.2012
Сообщений: 8

Некорректная работа get(set)Attribute в IE для элементов img
Вопрос, возможно, уже неоднократно обсуждался - но я ничего конкретного не нашел, так что приступим.
Использую библиотеку colorbox, для каждого элемента галереи которой ресайзится как содержимое, так и потом подгоняется размер самого colorbox-a. В опере, фф и хроме все работало ок, но проверив IE я обнаружил проблему. После дебага проблема оказалась в:

var img=document.getElementById(sel);
var h=img.getAttribute("height");
var w=img.getAttribute("width");
alert(h); alert(w);
где для всех браузеров выводит корректные значения атрибутов, а в ИЕ выводит 0. img - точно нужный элемент, даже IE правильно выводит его айдишник.

Собственно, для элементов div работает корректно, а вот для img нет, так что проблема, наверное, с доступом к атрибутам элемента img
.
Если сильно туплю(вебом занимаюсь недавно) - можете отвести на мне душу, но ответы по существу приветствуются.

Общий код обработчика, который вызывается после загрузки элемента библиотеки:

$(document).bind('cbox_load', function(){
var str=$.colorbox.element()[0].getAttribute("href");
var image_index=(str).indexOf("cont")+4;
image_index=str.substr(image_index);
var sel='img_cont'+image_index;
//var sel1='div'+image_index;
var img=document.getElementById(sel);
//var div=document.getElementById(sel1);
var h=img.getAttribute("height"); var w=img.getAttribute("width");
alert(h); alert(w);

Прошу прощения, что jquery вперемешку с js, по-всякому экспериментировал.

Если что, ссылка - http://stud.lasoon.com.ua/kiev/news/...ite-model-look (речь о галерее внизу страницы)
Ответить с цитированием