d3.js - 如何删除组元素

时间:2014-09-24 11:05:16

标签: d3.js

我想删除svg中的特定组元素。

代码是:

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

该组未被删除。如何删除组?

1 个答案:

答案 0 :(得分:1)

选择select("groupid")将选择名为“groupid”的第一个元素。如果要选择ID为“groupid”的第一个元素,则必须使用:select("#groupid")。对于类,请将“#”替换为句点。

在您的情况下,“groupid”不是元素。它是您为'g'元素提供的ID。

因此,请务必使用select("#groupid").remove()。不要忘记“#”。