svg元素没有显示出来

时间:2015-03-08 17:59:50

标签: css svg d3.js

在我的代码中,我添加了一个' rect'但出于某种原因,它并没有显现出来。 ' rect'我将显示在DOM中显示为:

enter image description here

当我追加它时,这是我的d3.js摘录:

  var testRect = d3.selectAll(".altIndicator").append("rect")
    .attr("class", "testRect")
    .attr("x", -50)
    .attr("width", 20*x.rangeBand())
    .attr("y", -100)
    .attr("height", 425).style("fill", "black").style("opacity", 1);

它没有显示的原因是什么? 我尝试在控制台中以交互方式运行此追加,并且当我将其附加到其他任何地方时它都有效,因此它似乎是一个继承问题。但是,通过明确设置样式,它应该覆盖从元素或CSS继承的样式值。

我的完整代码如下,附录是第298-303行。 任何帮助将不胜感激。

https://gist.github.com/EE2dev/d1c86cc47ad2759d955e

1 个答案:

答案 0 :(得分:2)

它包含在具有0不透明度的galtIndicator)中。

这是在这里设置的:

  d3.selectAll(".altIndicator")
    .each(function (d) { if (selectedItemSet.has(d) && selectedItemSet.get(d).alternativeId != 0) {
      d3.select(this).style("fill", "white")
        .style("opacity", 0.5);
      }
      else {
         d3.select(this).style("opacity", 0);
      }
    }); 

Code without that line