2013-12-06 2 views
0

Я использую адаптивную карту изображения jQuery-плагина. При загрузке страницы и изменении размера окна я читаю значения координат адаптивных карт изображений и сверху сверху, которые масштабируются с каждой картой изображения.jQuery не читает правильное значение атрибута HTML

Это прекрасно работает при изменении размера окна, но при загрузке страницы у меня возникает проблема с чтением правильных значений координат.

Я извлекая значения, как:

var test = jQuery('#imagemap').children('area')[i]; 
console.log(test); 

консоль будет выведено: <area id="area0" shape="rect" coords="0,0,32,32">

Но когда я бегу: console.log(test.coords); извлечь "0,0,32,32" COORDS, я получить:

0,0,40,40 

0,0,40,40 позиция коорда по умолчанию перед картой ответа изображения плагина масштабирует его вниз.

Почему существует конфликт ценностей?

+0

Выражение 'test.coords' не имеет ничего общего с jQuery. * edit * - oh Я вижу – Pointy

+1

Вы пробовали смотреть на атрибут coords vs the coords property? Обычно вам нужно свойство, но, возможно, указанный плагин обновляет только атрибут, и свойство не обновляется автоматически. –

+1

^^^ 'test.getAttribute ('coords')' – adeneo

ответ

0

Я бы постарался сделать это как чистый jQuery (как я полагаю, способ jQuery) и посмотреть, как он работает.

jQuery('#imagemap').children('area').each(function(){ 
    console.log($(this).attr('coords')); 
}); 

Incase вы не знакомы этот код перебирает «каждый» из пунктов области и выводит атрибут Coords. Это вместо использования цикла for (или того, что вы сейчас делаете)

Если вы хотите остаться с помощью своего метода, вы можете использовать eq (i) вместо [i] и метод .attr, чтобы его сохранить все jQuery ... вот так:

var test = jQuery('#imagemap').children('area').eq(i); 
console.log(test.attr('coords')); 
Смежные вопросы