jQuery检查是否设置了.css属性

时间:2013-08-24 00:22:03

标签: javascript jquery html css

我的代码看起来像这样

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

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

还有其他方法可以检查颜色是否设置?

2 个答案:

答案 0 :(得分: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 == '' ) {
   ...
}

答案 1 :(得分:1)

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

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

jsFiddle demo