如何调用IE CSS渐变属性 – >从Jquery过滤

我一直试图从jquery为IE调用filter css方法,但我不能这样做吗?

我用的是什么?

$('.gtob').mouseover(function(){ $(this).css("background-image","-moz-linear-gradient(100% 100% 90deg, #373737, #000000)"); $(this).css("background-image","-webkit-gradient(linear, 0% 0%, 0% 100%, from(#373737), to(#000000))"); $(this).css("filter","progid:DXImageTransform.Microsoft.gradient( startColorstr='#373737', endColorstr='#000000',GradientType=0)"); }); 

前两行适用于Firefox,Safari和Chrome,但IE语句没有响应:(

那么,任何人都知道该怎么做?

P:S! 我试过-ms-filter没有任何事情发生

如果你将这些样式移动到样式表中的类,然后为你的鼠标hover做.addClass().removeClass() ,我建议你的代码会更清晰。

您没有指定您正在使用的IE版本,但是对于它的价值, filter适用于IE6和IE7,但IE8需要-ms-filter 。 后者还要求您转义过滤字符串中的引号。

最后,您可能需要查看CSS3Pie ,它是所有IE版本的黑客,允许它们以更符合标准的方式支持CSS渐变和border-radius。

我认为渐变必须大写?

  $('.gtob').mouseover(function(){ $(this).css("background-image","-moz-linear-gradient(100% 100% 90deg, #373737, #000000)"); $(this).css("background-image","-webkit-gradient(linear, 0% 0%, 0% 100%, from(#373737), to(#000000))"); $(this).css("filter","progid:DXImageTransform.Microsoft.Gradient( startColorstr='#373737', endColorstr='#000000',GradientType=0)"); });