我这里有一个盒子——http://jsfiddle.net/U68p3/2/ http://jsfiddle.net/U68p3/2/- 具有透明背景。当我用 jQuery 的 .css('background-color') 读取背景时,它返回
rgba(0, 0, 0, 0)
如果我的代码正在寻找与“透明”的匹配,这不是很有帮助。
为什么 jQuery 会这样做,有没有办法让它返回“透明”?
Thanks.
$(function() {
var bkgnd = $('#box').css('background-color');
console.log('background-color is ' + bkgnd);
});
它不是 jquery,颜色的计算值以 RGBa(红色、蓝色、绿色、Alpha - 不透明度)表示,而不是颜色名称(如红色、蓝色、橙色、透明等)或十六进制值。根据specs https://developer.mozilla.org/en-US/docs/Web/CSS/background-color透明度表示为rgb(0, 0, 0)
.
如果该值是半透明的,则计算出的值将是 rgba() 对应的值。如果不是,则为 rgb() 对应的。透明关键字映射到rgb(0,0,0)。
因此,您可以添加特定的 css 规则来包含透明度并将该类添加到元素并使用,而不是寻找这个特定值.hasClass
or .is
该类来检查元素是否透明。
似乎不同的浏览器以不同的方式表示它,IE、FF给出的值为transparency
因此无论如何,最好不要依赖此值表示来实现任何逻辑。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)