jQuery:子元素在IE中随$(';.parent#u class';)不透明效果消失

jQuery:子元素在IE中随$(';.parent#u class';)不透明效果消失,jquery,animation,effects,opacity,Jquery,Animation,Effects,Opacity,我有这个html: <div class="foo parent"> <div class="child"></div> </div> 我希望父对象和子对象一起淡入,并以不透明度0.50结束。Firefox很好地做到了这一点,但IE却给我带来了麻烦:当我在父对象上执行fadeIn()或fadeTo()操作,甚至只是简单地应用.css('opacity','0.50'),父对象渲染而子对象不渲染 $('.parent').fadeTo('fas

我有这个html:

<div class="foo parent">
  <div class="child"></div>
</div>
我希望父对象和子对象一起淡入,并以不透明度0.50结束。Firefox很好地做到了这一点,但IE却给我带来了麻烦:当我在父对象上执行fadeIn()或fadeTo()操作,甚至只是简单地应用.css('opacity','0.50'),父对象渲染而子对象不渲染

$('.parent').fadeTo('fast',0.50)
-->使父对象淡入,但子对象从未出现

$('.parent').fadeIn('fast')
-->出现父项,没有子项

$('.parent').css('opacity','0.55')
$('.parent').show()
-->父对象以不透明度显示,子对象从不显示

$('.parent').show()
-->父对象和子对象看起来很好(但没有动画或透明度)。如果我这样做

之后,父对象得到效果,子对象消失


如何将父元素和子元素一起设置动画并共享不透明度属性?

为什么不尝试在选择器中同时指定父元素和子元素,同时将效果/css应用于两者:

$('.parent, .child').fadeTo('fast',0.50);

我已经成功地在元素上定义了透明度,然后在父元素上执行了fadeIn()。如果我这样做:

$('.child').css('opacity', '0.50');
$('.parent').css('opacity', '0.50');
$('.parent').fadeIn('fast');
这就是我想要的效果。然而这很奇怪,我必须先设置孩子的不透明度。如果我同时设置它们

$('.child, .parent').css('opacity','0.50');

或者,如果我先在父对象上设置,当我执行fadeIn()时,子对象会像以前一样消失

很好,是的,这是预期的效果,但前提是我把他们分开,让他们成为兄弟姐妹,而不是父母和孩子。我从显示开始:无;因此,我似乎需要fadeIn()而不是fadeTo()(当我从display:none开始执行fadeTo()时,它们不会出现,是不是应该出现?)$(.parent.child').css('opacity','0.50')$(.parent.child'))。fadeIn('fast')-->在IE中以我想要的方式工作,但只有当它们是兄弟时,否则,如果它们是如上所述的父子对象,则子对象不会渲染。我可以这样做,但我希望我能让他们成为父母和兄弟姐妹,因为这有助于定位。仔细检查,我真的需要他们成为父母和兄弟姐妹。这很烦人,我尝试过许多不同的类、定位器和jquery方法配置。似乎只要我使用.css或.fadeIn()或.fadeTo()给父级透明度,子级就会消失,无法重新渲染。它不再响应.show()或.css('display','block')等。如果我按照建议将效果应用于父级或同时应用于两者,则会发生这种情况。如果将此效果应用于父项,则子项将消失。您使用的是最新的jQuery版本吗?
$('.child').css('opacity', '0.50');
$('.parent').css('opacity', '0.50');
$('.parent').fadeIn('fast');
$('.child, .parent').css('opacity','0.50');