Bor*_*rys 3 svg google-chrome linear-gradients d3.js
Chrome不会选择<linearGradient>D3.js. 在以下代码中,所有选择都是空的.
var defs = d3.select("body").append("svg").append("defs");
defs.append("linearGradient");
defs.append("linearGradient");
console.log(defs.selectAll("linearGradient")); // empty
console.log(defs.selectAll("lineargradient")); // empty
console.log(d3.selectAll("linearGradient")); // empty
Run Code Online (Sandbox Code Playgroud)
如果你替换<linearGradient>说它<mask>没事.
var defs = d3.select("body").append("svg").append("defs");
defs.append("mask");
defs.append("mask");
console.log(defs.selectAll("mask")); // 2 elements selected
Run Code Online (Sandbox Code Playgroud)
Firefox适用于两者.我使用的是Chrome 28.0.1500.95.请建议一种选择渐变的方法.
这是webkit中的一个错误 - 请参阅错误报告.简短的回答是因为它刚刚破裂.您可以通过明确引用需要修改的渐变来解决此问题,例如
var grad1 = defs.append("linearGradient");
Run Code Online (Sandbox Code Playgroud)