d3_selectionPrototype.style = function(name, value, priority) { if (arguments.length < 3) priority = ""; // If no value is specified, return the first value. if (arguments.length < 2) return window .getComputedStyle(this.node(), null) .getPropertyValue(name); function styleNull() { this.style.removeProperty(name); } function styleConstant() { this.style.setProperty(name, value, priority); } function styleFunction() { var x = value.apply(this, arguments); if (x == null) this.style.removeProperty(name); else this.style.setProperty(name, x, priority); } return this.each(value == null ? styleNull : (typeof value === "function" ? styleFunction : styleConstant)); };