我试图构建一个更加动态的页面,根据需要添加/删除内容。为此,我将一个子动态添加div
到现有的div
并将内容放在那里。当我需要删除内容时,我可以删除 child div
。
这适用于一切,除了 d3.js 和特别是.enter()
方法。当我不使用该.enter()
方法时,一切正常,但是当我使用时.enter()
突然出现两个问题:
- 第一个数据点被删除。换句话说,它不会出现在输出中。
- 该
.append()
方法将其余数据点附加到HTML
- 所以在元素的结束标记之后而body
不是在动态创建的元素中。
允许它与 d3 和动态创建的 div 一起使用的原因或解决方案可能是什么?
来自http://jsfiddle.net/TJNCK/1/
var area = document.querySelector("#reportArea");
area.innerHTML = "";
var reportPlacement = document.createElement("div");
reportPlacement.id = "reportPlace";
area.appendChild(reportPlacement);
var report = d3.select("#reportPlace");
report.data([1, 2, 3])
.enter()
.append("div")
.text(String);