我已经使用css设置了类的背景颜色,现在我想使用jquery将它放在一个变量中。感谢
答案 0 :(得分:5)
您可能必须将该类应用于临时元素,然后提取该元素的bgcolor。
.cm { background-color:#990000 }
-
// creating an empty element and applying our class to it
var bgcolor = $("<div>").appendTo("body").addClass("cm").css("background-color");
alert(bgcolor); // rgb(153, 0, 0)
答案 1 :(得分:2)
如果页面上有一个使用该类的元素,您可以执行以下操作:
var backgroundColor = $('.classname').css('background-color');
但如果没有使用该类,我不熟悉从加载.css文件并在JavaScript中解析它(不太理想)时获取颜色的任何方法。
答案 2 :(得分:1)
问题是jquery无法遍历实际的样式表(据我所知),所以如果你有一个包含两个类的元素,你将无法知道它返回的颜色是否属于你的类想要或另一个。例如:
。大 { 背景颜色:黄色; }
.mean { 背景颜色:蓝色; }
第一个是蓝色,但如果您使用以下方式请求背景颜色:
$(".big").css("background-color");
你会得到蓝色,即使该类设置为黄色,因为第一个元素在技术上属于类大但是它有蓝色背景。
我喜欢Jonathan Sampson的想法。创建一个元素,使其不可见或在屏幕外,但给它一个ID和你想知道的类。然后检查该ID的背景颜色,而不是按类检查:
$("#colortest").css("background-color");
答案 3 :(得分:0)
var $tmp = $('<a class="classname"></a>');
$('body').append($tmp).hide();
var color = $('.classname').css('background-color');
$tmp.remove();
编辑:将类应用于隐藏元素。