8

我的代码看起来像这样

if($(element).css("background-color") == null){
  $(element).css("background-color", "white");
}

我想确保如果style.css文件中没有设置颜色,我会添加它。但是该代码不起作用。它总是回来rgba(0,0,0,0)。我正在使用的浏览器是 Chrome。

有没有另一种方法来检查颜色是否未设置?

4

2 回答 2

6

CSS:

.background-set { background-color: white; }

jQuery:

var $el = $(element);

if( !$el.hasClass('background-set') ){
   $el.addClass('background-set');
}

虽然我不确定你为什么需要检查。您可以在没有条件的情况下添加它。


或者:

if ( $el.prop('style').backgroundColor == '' ) {
   ... 
}

或者

if ( $el.get(0).style.backgroundColor == '' ) {
   ...
}
于 2013-08-24T00:50:15.323 回答
1

elclanrs 建议的方法是处理这个问题的最优雅的方法,应该是首选方法。但是,为了满足好奇心,您可以使用jQuery Attribute Contains Selector来获得相同的结果。

$("div[style*='background-color']").text("I have a background color!");

jsFiddle 演示

于 2013-08-24T00:41:13.680 回答