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

前端之家收集整理的这篇文章主要介绍了如何使用jQuery在Safari中找到多个背景的background-position/background-image等前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
也许我在这里缺少的东西。

我试图获得具有多个背景的元素(div)的当前背景信息,使用长背景背景重复,背景位置和背景图像设置。

使用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中的所有的值对(使用速记背景属性不这样做)?

编辑:

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

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

编辑:

Ok,我做了一个测试用例在jsFiddle和已经报告它作为一个jQuery bug,因为它似乎是可重复的行为(虽然我接受,它可能是一个浏览器实现问题,而不是实际上一个jQuery bug)。

仍然,如果有人有任何想法…

编辑:

jQuery的票已经关闭 – 我认为这是一个Safari bug – 我不知道如何从这里进一步,但我已经发布了一个bug报告与苹果。

编辑:

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

解决方法

因为它固定在5.1,我想这不是一个大交易,但我漫步,如果作为解决方法,你可以初始设置背景从js通过
$('#page').attr('style','...');

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

猜你在找的jQuery相关文章