次のコードを展開して、div.someclass
存在しない場合に自動的に作成する簡単な方法はありますか?
d3.select("body").select("div.someclass").selectAll("p")
.data([ 1, 2, 3 ])
.enter()
.append("p")
.text(function (d, i) {
return "index: " + i + ", value: " + d;
});
私はまだ D3JS の学習の初期段階にあります。これまでの私の理解では、「D3 に何かを行う方法を伝えるのではなく、D3 に自分のやりたいことを伝える」ということです。したがって、上記のコード<div class="someclass"></div>
を HTML で宣言する必要があることに驚きました。
別の方法は、プログラムで div を挿入することです。
/** Append HTML placeholder programmatically **/
placeholder = d3.select("body").append("div").attr("class", "someclass");
/** Bind the data to the DOM **/
/** instead of telling D3 how to do something, tell D3 what you want: in the absence of <p>, this will return a virtual selection **/
placeholder.selectAll("p")
.data([ 1, 2, 3 ])
.enter()
.append("p")
.text(function (d, i) {
return "index: " + i + ", value: " + d;
});
より短い/より良い方法はありますか?