0
大家好,我正在使用D3.js的sunburst我想在每個元素中包含一個文本元素。鼠標結束時出現文字D3
對於我的代碼是這樣的
var path = g.append("path");
if (data_key != "used"){
svg.selectAll("g").append("text")
.attr("dx", function(d){return -50})
.attr("dy", function(d){return 20})
.attr("class", "all_users")
.style("display", "none")
.text("text");
}
和它的作品我的結構是這樣的
<g>
<path style="stroke: rgb(255, 255, 255); stroke-width: 1; fill: transparent; opacity: 0.3;" d="M0,63.58917920822171A63.58917920822171,63.58917920822171 0 1,1 0,-63.58917920822171A63.58917920822171,63.58917920822171 0 1,1 0,63.58917920822171Z"></path>
<text dx="-50" dy="20" class="all_users" style="display: none;">text</text>
</g>
我添加顯示沒有到我的文字風格,我想改變風格(當鼠標在此路徑上時出現文字)
爲此目的我用這個
var g = gs.enter().append("g")
.on("mouseover", mostrar)
這樣
function mostrar(d){
...
$(this).closest('text').css("display", "inherit");
}
但這$(this).closest('text')
返回一個空數組[]
。任何想法如何讓我的鼠標在這部分情節的文本。
感謝進步
'element.textContent'?或'$ element.text()'? – evolutionxbox
謝謝@evolutionxbox但這不會改變div的樣式,這會返回值! – Stone
好的。你在一個問題中提出了兩個問題。 「'我想改變風格'」和「'當我的鼠標移過這部分情節時如何獲得文本。」 – evolutionxbox