Mik*_*ram 5 javascript css jquery
我有一个元素,如:
<div style="background-color: #ffffff; background-image: url(image.jpg);></div>
Run Code Online (Sandbox Code Playgroud)
使用 jquery 设置背景属性,如下所示:
$('div').css('background-color', '#ffffff');
Run Code Online (Sandbox Code Playgroud)
一旦设置了各种属性,我想将它们全部作为速记声明。我希望只要这样做:
var background = $('div').css('background');
Run Code Online (Sandbox Code Playgroud)
会起作用,但似乎不起作用。
有人对此有解决方案吗?
我唯一能想到的是进行字符串连接,例如:
var background = $('div').css('background-color') + ' ' + $('div').css('background-image');
Run Code Online (Sandbox Code Playgroud)
然而,这将非常混乱并且需要大量检查,因为并非总是设置所有背景变量,例如位置等。
任何想法如何做到这一点将不胜感激!
鉴于似乎没有可靠的跨浏览器解决方案,我已执行以下操作来解决该问题。
我已经设置了一个像这样的对象:
var backgroundDefaults = {
color: "#ffffff",
image: "none",
repeat: "repeat",
position: "top left"
}
Run Code Online (Sandbox Code Playgroud)
当用户更改一个背景属性(例如背景颜色)时,我使用该对象来设置元素上的所有默认值。通过这样做,它可以确保始终设置所有可以更改的值,因此我可以使用以下方法可靠地将它们从元素中取出:
var background = $('div').css('background-color') + ' ' + $('div').css('background-image');
Run Code Online (Sandbox Code Playgroud)
正如原来的问题中提到的。
| 归档时间: |
|
| 查看次数: |
1305 次 |
| 最近记录: |