【问题标题】:Binding data not working in d3.js绑定数据在 d3.js 中不起作用
【发布时间】:2012-05-22 15:35:38
【问题描述】:

我正在尝试使用 .enter 方法生成 html。

我有以下代码:

alert(d3.select(".ul_class").length);
d3.select(".ul_class").data([4, 8, 15]).enter().append("li").text("hello");

第一个警报显示“1”,因此正确选择了对象。第二行没有在我的 DOM 对象中附加“li”元素。

我做错了什么? 谢谢

【问题讨论】:

    标签: javascript d3.js


    【解决方案1】:

    您必须首先创建一个(空的)li 元素选择:

    d3.select(".ul_class")
      .selectAll('li') // <--
      .data([4, 8, 15]).enter().append("li").text("hello");
    

    然后将数据绑定到该空选择,这将在选择中为新数据生成占位符。

    所以你基本上是在说:

    “选择所有li元素并将数据[4, 8, 15]绑定到它们。对于尚未绑定的所有数据项,创建一个新的li元素。”

    DEMO

    【讨论】:

      猜你喜欢
      • 2017-04-18
      • 2018-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-26
      • 2015-12-03
      • 2015-06-19
      相关资源
      最近更新 更多