我有各種SVG <g>
對象,每個對象都有一個<circle>
子項和一個<text>
子項。我可以使用select()
找到特定對象<text>
,通過連接到它的類,然後修改它:d3相當於jQuery父項()
d3.select('text.my-class')
.classed("my-class",false).classed("new-class",true)
.text("Next Stage!")
;
現在我需要修改它的圈子兄弟。圓的面積沒有特別的標識類(hhmmm ......也許給它一個會做這樣的D3方式嗎?),所以我的第一次嘗試是jQuery的,如:
d3.select('text.my-class').parent().select('circle')
.attr('style','fill:#f00;')
;
失敗,出現「父不一個功能「。
對類似問題的回答(How to select parent element of current element in d3.js)建議使用this.parentNode
,但要麼我錯用了它,要麼它在這裏不起作用。我已經嘗試了這兩種方法:
d3.select('text.my-class').select(parentNode).select('circle')
d3.select('text.my-class').select(this.parentNode).select('circle')
謝謝!我使用了'var textNode = d3.select('text.my-class');'然後'd3.select(textNode.node()。parentNode).select('circle')。attr('style','填寫:#f00;')',它似乎工作到目前爲止。 :-) –