2015-03-08 135 views
0

在我的代碼中,我追加了'rect',但由於某種原因它不顯示。 的「矩形」我追加顯示出來的DOM爲:svg元素不顯示

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); 

什麼可以的原因,它是不顯示? 我試着在控制檯中交互地運行這個append,它在任何其他地方追加它的時候工作,所以它似乎是一個繼承問題。但是,通過明確設置樣式,它應該覆蓋從元素或CSS繼承的樣式值。

我的完整代碼如下,附錄是第298-303行。 任何幫助將不勝感激。

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

+0

您是否嘗試過不同的(正)'x'和'y'值,以防它離屏? – mgold 2015-03-08 18:11:40

+0

@ mgold:是的,它在屏幕上。當我將鼠標懸停在DOM中的元素上時,它所覆蓋的區域將突出顯示。 – ee2Dev 2015-03-08 18:12:54

回答

2

它包含在一個g(該altIndicator)具有0不透明。

這是正在這裏設置:

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

+0

太好了,非常感謝!事後,似乎很明顯...... – ee2Dev 2015-03-08 19:25:36