2014-09-24 43 views
1

我想從svg中刪除一個特定的組元素。d3.js - 如何刪除一個組元素

的代碼是:

var margin = {top: 20, right: 20, bottom: 20, left: 60}; 
var width=800, height=450; 

svg = d3.select("#svgchart").append("g").attr("id","groupid").attr("transform", "translate(" + margin.left + "," + margin.top + ")"); 

svg.append("g").attr("id", "groupid2") 
      .attr("class", "x axis") 
      .attr("transform", "translate(1," + (height + 1) +")") 
      .call(xAxis) 
      .moveToBack(); 

     //add the y-axis 
     svg.append("g").attr("id", "groupid3") 
      .attr("class", "y axis") 
      .attr("transform", "translate(1, 0)") 
      .call(yAxis) 
      .moveToBack(); 

     //add an x-axis label 
     svg.append("text") 
      .attr("class", "x label axis") 
      .attr("text-anchor", "end") 
      .attr("x", width) 
      .attr("y", height - 6) 
      .text(varxaxis); 

svg.append("text") 
      .attr("class", "y label axis") 
      .attr("text-anchor", "end") 
      .attr("y", 6) 
      .attr("dy", "3.75em") 
      .attr("transform", "rotate(-90)") 
      .text(yaxistext); 
      ..................................... 
      ..................................... 
      ..................................... 

從SVG刪除特定組:

svg.select("groupid").remove(); 

該小組沒有得到deleted.How我如何刪除組?

+0

'svg.select(「#groupid」)。remove();' – 2014-09-24 11:09:02

+0

或者'd3.select(「#groupid」)。remove()'在你的情況下,因爲該組等於'svg'。或者乾脆'svg.remove()'。 – 2014-09-24 11:16:32

+0

謝謝lars.It的作品 – 2014-09-25 12:05:52

回答

1

選擇select("groupid")將選擇名爲「groupid」的第一個元素。如果要選擇ID爲「groupid」的第一個元素,則必須使用:select("#groupid")。對於課程,用句號替換「#」。

就你而言,「groupid」不是一個元素。這是您提供給'g'元素的ID。

因此,請確保您使用select("#groupid").remove()。不要忘記「#」。 (#)