【问题标题】:element.css('filter') returns undefined in jQuery 1.8element.css('filter') 在 jQuery 1.8 中返回 undefined
【发布时间】:2012-09-07 01:09:54
【问题描述】:

假设你有以下样式(filter 或 -ms-filter,没关系):

<style type="text/css">
    #someID {
        -ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#FFFFFF, endColorstr=#ECECEC)";
    }
</style>

在 jQuery 1.7 中,以下脚本用于读取 IE 过滤器属性...

<script type="text/javascript">
    $(function(){
        alert($('#someID').css('filter'));
    });
</script>

现在在 jQuery 1.8+ 中返回 undefined。 a) 这是 jQuery 1.8 中的错误吗? b) 还有其他方法吗?

【问题讨论】:

  • 似乎不起作用jsfiddle.net/MbULY,即使在 jquery 1.7.2 上也没有。
  • 这就是我要说的,问题是说“无”而不是“未定义”。
  • 在所有其他浏览器中,除了 IE,它应该说 none。在 IE 中它应该返回该属性。它实际上仍然可以在 IE8 中使用 jQuery 1.8+,所以我已经向 jQuery 核心提交了一个错误。

标签: javascript jquery css internet-explorer filter


【解决方案1】:

我也找不到在 jQuery 中执行此操作的方法,但我找到了一种在普通 javascript 中执行此操作的方法(仅适用于 IE,您需要捕获它以便其他浏览器不会失败)。

var _someID = document.getElementById('someID');
var someIdGradientFilter = _someID.filters.item('DXImageTransform.Microsoft.gradient');
alert("startColorstr: " + someIdGradientFilter.startColorstr + "\nendColorstr: " + someIdGradientFilter.endColorstr);

【讨论】:

  • 谢谢,这会很好。
猜你喜欢
  • 2016-05-12
  • 1970-01-01
  • 2023-03-11
  • 2017-12-11
  • 1970-01-01
  • 1970-01-01
  • 2017-03-24
  • 2011-11-29
  • 1970-01-01
相关资源
最近更新 更多