有没有办法让ie浏览器理解这个.style. setproperty

Is there a way to make Internet Explorer understand this.style.setProperty?

本文关键字:style setproperty 浏览器 ie 有没有      更新时间:2023-09-26

我已经开始使用出色的D3.js数据可视化库(http://mbostock.github.com/d3/)。

结果在Firefox和Chrome中工作得很好,但在IE中不行。一个问题似乎是D3大量使用this.style.setProperty和this.style.removeProperty,这是不被IE识别的。

我想知道是否有人知道一个变通或垫片或一些这样的?(我的JavaScript很差,顺便说一句)。

我一直在与同样的bug作斗争,当你想改变样式时,你可以简单地通过使用以下模式来解决它。

element.style("property", "value");

值必须总是字符串。否则你会在IE9中得到一个奇怪的字符错误,因为它只能处理字符串。

我用D3JS 3.2.8测试了它。

.classed('class', true/false)呢?它在IE9中运行良好:

function mouseOver(d, i) {
    var element = d3.select(this);
    var alreadyHasClass = element.classed('className'); // boolean
    element.classed('cssClass', !alreadyHasClass); // set/remove class
}

顺便说一句,在元素中添加/删除类比在style中添加信息要快得多。

我相信最新的2.1.3版本解决了这个问题。