jquery - 如何在 Safari 中使用 jQuery 查找多个背景的背景位置/背景图像等

标签 jquery css safari

也许我在这里遗漏了什么。

我正在尝试获取具有多个背景的元素 (div) 的当前背景信息,使用普通格式 background-repeatbackground-位置背景图片

使用 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('../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;
}

编辑:

好的,我在 jsFiddle 上为此做了一个测试用例并将其报告为 jQuery bug因为它似乎是可重现的行为(尽管我承认这可能是浏览器实现问题而不是 jQuery 错误)。

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

编辑:

jQuery 票已关闭 - 我认为这意味着它是 Safari 错误 - 我不太确定如何从这里走得更远,但我已经向 Apple 发布了错误报告。

编辑:

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

最佳答案

因为它在 5.1 中得到了修复,我想这不再是什么大问题了,但我想知道是否可以作为一种解决方法,您可以通过

最初从 js 设置背景
$('#page').attr('style', '...');

然后从那里读... 有点愚蠢和痛苦,是的。

关于jquery - 如何在 Safari 中使用 jQuery 查找多个背景的背景位置/背景图像等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6743600/

相关文章:

html - CSS <a> 边框边距问题

javascript - 未处理的 promise 拒绝 : NotSupportedError (DOM Exception 9): The operation is not supported

javascript - Greasemonkey - 集成滚动和鼠标点击操作

javascript - 如何通过单击菜单中的 Li 将 HTML 页面加载到 DIV 中?

html - 当网格项没有任何同级项时,它会占用全屏宽度

DIV 中的 CSS 位置困境

javascript - jQuery、Asp.net -jAutoCalc : Implement auto calculation on the form to be appended in the table using jQuery

javascript - 无法点击 anchor 链接

ios - 如何使用 iOS - Safari 永久允许在受信任的网站上使用相机

xcode - 为什么我可以在其他计算机上运行我签名的 Safari 应用扩展,但不能在我开发它的计算机上运行?