定义 D3 样式 SVG 元素
D3 styling SVG elements when defined
我有一个带有轴的 D3 图表,我想通过原始调用来设置样式来创建它。但是,它似乎只在第一次调用时起作用。我会告诉你我的意思:
当我通过以下方式创建轴时
svg.select('g.y.axis').call(yaxis)
.selectAll("path")
.attr("fill","none")
.attr("stroke", "#000")
.selectAll("line")
.attr("fill","none")
.attr("stroke", "#000");
只有路径的样式正确。你可以看看我的jsfiddle,看看我的意思。我知道这可能比仅仅使用 CSS 样式慢,但我需要在我正在处理的原始调用中设置样式。提前感谢!
这是因为d3.selectAll("foo").selectAll("bar")
会尝试找到<bar>
s,这些元素是建立<foo>
s的内部元素。在您的情况下,svg 在 <path>
s 中找不到<line>
。
只需单独致电:
svg.selectAll("path")...
svg.selectAll("line")...
UPD要在 .y.axis 中查找路径/线:
svg.select(".y.axis").selectAll("path")
或
svg.selectAll(".y.axis path")
相关文章:
- 锚点元素不't使用svg时,请打开EDGE上的href
- 带有填充属性的SVG矩形显示在包含元素的上方插入框阴影
- 在select元素中显示highchart dashstyle(svg)
- 如何自动保存动态生成的HTML SVG元素
- 使用svg和javascript将一个类的元素动画化为另一个类
- 将包含SVG元素的HTML转换为图像文件
- SVG元素——处理和选择文本
- 更改SVG'style'元素
- SVG元素在转换后会丢失事件侦听器
- 获取以屏幕像素为单位的旋转SVG元素的边界
- 使用JavaScript查找具有特定属性的SVG元素
- 如何使用正则表达式按类获取svg元素
- d3与svg在处理元素时的对比
- 是否可以在不创建svg对象的情况下创建捕捉元素?[snap.svg]
- 将SVG元素拖动到另一个SVG元素上
- 捕捉.svg — 单击其中一个元素时删除对象
- 单击事件在替换<使用>元素在<svg>(Win7/IE11)
- 我想隐藏/显示我的SVG元素,同时在anguarJS中使用它
- 在元素 SVG 中使用 JavaScript 或 jQuery 进行事件单击
- 是否有一种方法可以使用Javascript合并两个路径元素(svg)