我想知道是否可以使用 jQuery 来选择 DOM 中的所有标签,并且只影响那些设置了 background-color 属性的标签?我想最终添加不同的配色方案,这只是背景颜色的问题。
问问题
135 次
2 回答
5
我认为这会起作用:
var hasBackground = $("*").filter(function() {
return !!this.style.backgroundColor;
});
...之后,hasBackground
将是一组直接background-color
设置样式的元素(例如,不是通过样式规则)。
但我认为将“主题”应用于网站的最佳方式是更换 CSS 样式表,而不是单个元素的规则,如下所示:
<link rel="stylesheet" type="text/css" href="http://jsbin.com/evilit/1">
<link id="style" rel="stylesheet" type="text/css" href="http://jsbin.com/ireted/1">
<script>
(function() {
setInterval(swapStyles, 1000);
function swapStyles() {
var style = $("#style");
if (style[0].href.indexOf("ireted") === -1) {
style[0].href = "http://jsbin.com/ireted/1";
}
else {
style[0].href = "http://jsbin.com/uhoqob/1";
}
}
})();
</script>
在哪里http://jsbin.com/evilit/1
:
body {
font-size: 26pt;
}
并且http://jsbin.com/ireted/1
是:
body {
background-color: yellow;
}
并且http://jsbin.com/uhoqob/1
是:
body {
background-color: #eee;
}
请注意,在示例中,加载了两个样式表。第一个定义字体大小,第二个(我们每秒交换一次)定义背景颜色。
于 2013-04-28T21:37:07.487 回答
0
将样式放入 CSS 文件时忘记执行绝对路径。
于 2013-04-28T22:03:21.503 回答