Javascript 在浏览器ie6、ie7、ie8中使用style.filter时';行不通

Javascript 在浏览器ie6、ie7、ie8中使用style.filter时';行不通,javascript,css,internet-explorer,Javascript,Css,Internet Explorer,我在(ff、chrome等)浏览器中使用style.opacity。 在(ie6,7,8)中,我使用了style.filter,但不起作用 以下是我所做的: targetElement.style.filter = 'alpha(opacity=30)'; // targetElement is div 前面的代码仅在ie9中工作正常,但在ie6,7,8中不工作。为什么?据我所知,IE 6和IE 7没有alpha透明过滤器。通过为“开始”和“结束”设置相同的颜色,可以使用渐变过滤器作为解决方案

我在(ff、chrome等)浏览器中使用
style.opacity

在(ie6,7,8)中,我使用了
style.filter
,但不起作用

以下是我所做的:

targetElement.style.filter = 'alpha(opacity=30)'; // targetElement is div

前面的代码仅在ie9中工作正常,但在ie6,7,8中不工作。为什么?

据我所知,IE 6和IE 7没有alpha透明过滤器。通过为“开始”和“结束”设置相同的颜色,可以使用渐变过滤器作为解决方案/解决方案。MS梯度滤波器可以处理具有alpha透明度的RGB

半透明、近黑色背景(alpha通道是前两个十六进制数字):


到底什么意思它不起作用?在
分区中有哪些元素
alpha(不透明度=30)
即使在IE5中也能工作,因此出现了一些奇怪的情况,请发布更多的代码。问题:鉴于IE9支持标准的
opacity
样式,您确定IE中工作的不是您的标准代码,而是过滤器吗?我看不出有任何理由让过滤器在IE9中工作,但在其他IEs中不工作,但如果它一直失败,但您的
style.opacity
在IE9中工作,那么事情就更有意义了。我必须说,我从未尝试过使用Javascript设置过滤器样式。这似乎总是太麻烦了(尤其是
过滤器
风格的固有怪癖)。它确实有效:jQuery能够在IE中淡入淡出元素,但这仍然是一个麻烦。我的建议是:如果你简单地将不透明度样式放入CSS类中,并使用Javascript更改类名,那么事情就会变得容易得多。不,过滤不透明度即使在较旧的IE中也总是有效的。无论如何,这里的问题不在于OP显然熟悉的过滤器样式本身,而在于通过Javascript进行设置。
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr=#E5333333, endColorstr=#E5333333 );
-ms-filter: progid:DXImageTransform.Microsoft.gradient( startColorstr=#E5333333, endColorstr=#E5333333 );