首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >D3.js退出奇怪的行为

D3.js退出奇怪的行为
EN

Stack Overflow用户
提问于 2013-07-06 08:15:37
回答 2查看 176关注 0票数 0

我正在学习D3.js,并且有一些关于exit()函数的问题。请看下面的示例代码

代码语言:javascript
运行
复制
<html>

<head>
    <script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script>

</head>

<body>

    <h1>Hello, World!</h1>
    <p>Test of selection of D3.js</p>
    <p>Test of selection of D3.js</p>
    <p>Test of selection of D3.js</p>
    <p>Test of selection of D3.js</p>
    <p>Test of selection of D3.js</p>
    <p>Test of selection of D3.js</p>
    <p>Test of selection of D3.js</p>


    <script>
        var p = d3.selectAll("p");


        p.data([13,17,21,25])            
         .exit()
         .remove();

         p.style("font-size", function(d) { return d+"px";});


    </script>


</body>

<html>

基本上,我有7个元素与p选项卡。代码提供了4个数据项,.exit().remove()删除了7-4 =3个额外的p元素。在此之后设置4个元素的大小。这是可行的。

然而,根据Mike Bosock的教程http://mbostock.github.io/d3/tutorial/circle.html,“破坏元素”部分

代码语言:javascript
运行
复制
p.data([13,17,21,25]);
p.exit().remove();

应该也行得通。但事实并非如此。

有人知道这部分出了什么问题吗?非常感谢!

EN

回答 2

Stack Overflow用户

发布于 2013-07-06 08:20:37

请注意他示例中的这一部分:

代码语言:javascript
运行
复制
var circle = svg.selectAll("circle")
    .data([32, 57]);

然后:

代码语言:javascript
运行
复制
circle.exit().remove();

在本例中,您尝试对p变量运行.exit().remove(),而不是对其中的数据运行。在他的例子中,他根据附加到圆圈的数据调用它。

票数 1
EN

Stack Overflow用户

发布于 2013-07-06 08:22:34

试一试

代码语言:javascript
运行
复制
var p = d3.selectAll("p");
p = p.data([13,17,21,25]);
p.exit().remove();

selectAll().data().exit()一样,selectAll()也是选择器

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17498366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档