我有一个div元素,只要没有背景颜色集就需要隐藏它。所以我想出了这个简单的jquery语句:
$(function() {
if ($('.colorpicker').css('background-color') == 'transparent')
{
$(this).find('.colorpicker-wrapper').css('display','none');
}
});
在Firefox中一切运行良好,当没有为bg-color设置值时,它会隐藏包装器。但是在chrome和safari中它似乎并不认为透明是有效值。?
我已尝试将值设置为“null”或“unidentified”,但无济于事。
任何人都有任何线索?
答案 0 :(得分:0)
您的问题是jQuery的不一致。通常,如果未设置背景颜色,则将值设置为空字符串(""
)。参见:
var d = document.createElement("div");
return d.style.backgroundColor
d.style.backgroundColor将始终为firefox和chrome返回""
。但是,当使用jQuery css()
函数时,jQuery会将其转换为默认值。
我建议使用:$('.colorpicker')[0].style.backgroundColor == ""
答案 1 :(得分:0)