jQuery中有没有办法获得元素的真正不透明度?当然,您可以使用
获取元素定义的不透明度$element.css('opacity')
但是,如果它的父级已经定义了不透明度0.5,则元素的真实不透明度是其定义的不透明度的一半。 jQuery有这个功能吗?如果没有,是否有现有的插件?
如果没有插件,我可以通过遍历元素的父节点来自己计算,直到我最终到达最顶层的父节点,将每个步骤的CSS不透明度相乘吗?或者有什么我没有考虑到的?
答案 0 :(得分:5)
看起来不像有一个快速属性来检查,但你可以很容易地计算它,正如你所提到的那样:
var opacity = 1;
$element.parents().andSelf()
.each(function(){ opacity *= $(this).css('opacity') || 1 });
我能想到的唯一边缘情况是元素是隐藏的,还是浮动元素(不是它的父元素)部分隐藏的。根据您的需要,这可能是个问题。