Подтвердить что ты не робот

Как найти фоновое положение/фоновое изображение и т.д. Для нескольких фонов с помощью jQuery в Safari

Возможно, я что-то пропустил.

Я пытаюсь получить текущую справочную информацию для элемента (div) с несколькими фонами, задав с помощью longhand background-repeat, background-position и background-image.

Используя jQuery, я просто делаю var bPos = $('#element').css('background-position'), чтобы получить набор текущих позиций, что даст мне что-то вроде '0 0, 100px 100px, left bottom' в Firefox и Chromium (в настоящее время версии 5 и 12 соответственно), но в Safari (версия 5 в ОС -X) он просто возвращает первую пару значений ('0 0'). Эти значения CSS устанавливаются во внешней таблице стилей.

Есть ли у кого-нибудь идеи, почему это так, и как это сделать, чтобы получить полный набор пар значений в Safari (с использованием стенографического свойства background тоже не выполняется)?

Edit:

Вот CSS, который используется во внешней таблице стилей:

#page{
    background-repeat: repeat-x, repeat-x, repeat-x, repeat-x, repeat-x;
    background-image: url('../images/line.png'), url('../images/line.png'), url('../images/line.png'), url('../images/line.png'), url('../images/line.png');
    background-position: 0 798px, 0 653px, 0 125px, 0 88px, 0 78px;
}

Edit:

Хорошо, я сделал тестовый пример для этого jsFiddle и сообщил об этом как jQuery bug, поскольку он кажется воспроизводимым (хотя я согласен с тем, что это может быть проблема реализации браузера, а не ошибка jQuery).

Тем не менее, если у кого-то есть идеи...

Edit:

Билет jQuery закрыт - я полагаю, это означает, что это ошибка Safari - я не совсем уверен, как идти дальше отсюда, но я опубликовал отчет об ошибке с Apple.

Edit:

Как указал Синдре Сорхус, это, похоже, было исправлено в Safari 5.1.

4b9b3361

Ответ 1

Так как он исправлен в 5.1, я думаю, что это не большая проблема, но я блуждаю, если в качестве обходного пути вы могли бы сначала установить фон из js на

$('#page').attr('style', '...');

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

Ответ 3

Вы можете попробовать использовать разные классы. Это будет easiler.