Различия в расположении jQuery между Chrome (webkit) и Firefox

Во время работы с ползунком jQuery UI я в основном отлаживал хром. Мне нужно, чтобы диапазон имел предел, поэтому я бы взял левую позицию одной из таких дескрипторов:

$el.css('left');

Который дал бы мне левую позицию в процентах: 84%. Однако, когда я тестировал в Firefox, он возвращал значение в пикселях.

Кто-нибудь испытал это раньше? Основываясь на просмотре DOM в Firebug, Firefox распознает позиционное позиционирование на основе процентов, но, похоже, оно не возвращает это значение. Это поведение по умолчанию для Firefox? Это то же самое в IE?

Ответ 1

Функция css() возвращает значение указанного свойства css, о котором сообщает браузер. В результате, это браузер специфический и не должен использоваться при работе с длинами и позиционированием таким образом.

Ответ 2

Я не считаю, что существуют какие-либо известные отличия для позиционирования с jQuery с последней версии 1.4.4.

Ответ 4

используйте $el.position().left; вместо:)

Ответ 5

Я работал над этой проблемой, обратившись непосредственно к DOM, например:

$el.get(0).style.left

он возвращает значение% для FF, Chrome, Safari и IE9. (Не тестировал его в Opera, хотя)