D3.js d3移除svg不透明度

D3.js d3移除svg不透明度,d3.js,svg,D3.js,Svg,我的强制导向布局中有一个svg矩形,当您单击某个节点时会显示该矩形。我想知道如何将rect设置为完全不透明。我将其“不透明度”属性设置为1,但它仍然是透明的。这也很奇怪,因为我仍然可以将不透明度属性操纵为0.5,例如,并且rect将变得更轻。我不能让它比现在更不透明 var tooltip = svg.append("g").attr("transform", "translate(-300,0)"); tooltip.append("rect") .attr("x", 0)

我的强制导向布局中有一个svg矩形,当您单击某个节点时会显示该矩形。我想知道如何将rect设置为完全不透明。我将其“不透明度”属性设置为1,但它仍然是透明的。这也很奇怪,因为我仍然可以将不透明度属性操纵为0.5,例如,并且rect将变得更轻。我不能让它比现在更不透明

    var tooltip = svg.append("g").attr("transform", "translate(-300,0)");
  tooltip.append("rect")
    .attr("x", 0)
    .attr("y", 0)
    .attr("width", 300)
    .attr("height", height)
    .attr("color", "black")
    .attr("opacity", 1);

下面是完整的代码:

这是因为您放置的
svg
元素的顺序。首先绘制矩形,然后绘制节点。如果希望矩形隐藏节点。然后在绘制节点后,必须绘制
rect

只是试了一下,好像什么都没变。之所以发生这种情况,是因为您在绘制矩形后绘制了节点。