2015-09-01 34 views
3

我有一個優秀的強制定向佈局(@eyaler http://bl.ocks.org/eyaler/1058611)和多個選項,我想隱藏一個特定的節點,使用jQuery或D3 + JavaScript,而不是直接從使用切換功能的d3代碼。 (這是重要的,因爲我在HTML代碼的外部按鈕)使用JavaScript或jQuery在D3.js中隱藏節點和子項

http://bl.ocks.org/carlos-andres/c3194c284763fde317b0

我試圖命令等:

d3.selectAll("g#Avenger").attr("visibility", "hidden"); 

d3.select("g#Spathi").selectAll("*").attr("visibility", "hidden"); 

d3.select("g#Spathi").selectAll(this.children).attr("visibility", "hidden"); 

d3.select("g#Spathi + g").each(function(d){ console.log(d)}); 

它隱藏節點,但不是標籤和路徑。我也試過:

jQuery('g#Avenger').siblings().toggle(); 

它隱藏了所有其他節點。

UPDATE:我試着在這裏使用解決方案:A d3.select... equivalent to jQuery.children()給@ @ Klaujesi它並不適用於我。我也查了另一篇文章,How to display and hide links and nodes when clicking on a node in D3 Javascript和我不能讓這種做法很好的效果無論是。

檢查圖像;它隱藏節點G#Spathi但沒有孩子和路徑

enter image description here

回答

2

您有<tex><g>元素:

<g id="Drone" class="node" ... 
    <path d="M-8.378872.....city: 1;"></path> 
</g> 
<text dy=".35em" dx="9.45 .... city: 1;">&ensp;Drone</text> 

必須是:

<g id="Drone" class="node" ... 
    <path d="M-8.378872.....city: 1;"></path> 
    <text dy=".35em" dx="9.45 .... city: 1;">&ensp;Drone</text> 
</g> 

使<text><g>依賴

+0

你好@Klaujesi沒關係,這工作得很好節點+文本,但兒童?我如何選擇他們並隱藏?由於 –

+0

要訪問的孩子看看這個:http://stackoverflow.com/questions/19956602/a-d3-select-equivalent-to-jquery-children – Klaujesi

+0

你好@Klaujesi I'm更新代碼並運行你所建議的答案,不工作..謝謝 –