如何在Safari中使用jQuery查找多背景的background-position / background-image等

也许我在这里错过了一些东西。

我试图获取具有多个背景的元素( div )的当前背景信息,使用longhand background-repeatbackground-positionbackground-image

使用jQuery,我只是做var bPos = $('#element').css('background-position')来获取当前位置的集合,这会给我像'0 0, 100px 100px, left bottom' Firefox和Chromium(目前版本分别为5和12),但是在Safari(OS-X上的版本5)中,它只返回第一个值对( '0 0' )。 这些CSS值是在外部样式表中设置的。

有没有人有任何想法,为什么这是,以及如何去得到在Safari的全套价值对(使用速记background属性也不这样做)?

编辑:

这是在外部样式表中使用的CSS:

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

编辑:

好的,我在jsFiddle上为此做了一个testing用例,并将其报告为jQuery 错误,因为它似乎是可重复的行为(虽然我接受它可能是浏览器实现问题,而不是实际上的jQuery错误)。

不过,如果有人有任何想法…

编辑:

jQuery票据已经closures – 我认为这是一个Safari的bug – 我不太清楚如何离开这里,但我已经发布了一个与苹果公司的错误报告。

编辑:

正如Sindre Sorhus指出的那样,这在Safari 5.1中似乎已经得到纠正。

由于它固定在5.1,我想这不是一个大问题,但我徘徊,如果作为一个解决方法,你可以最初设置从js的背景

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

然后从那里读它…有点愚蠢和痛苦的屁股,是的。

你可以尝试使用不同的类。 那将是轻松的。