我有一组像这样的对象:
var dataObj = [{stuff:"thing"}, {other:"something"}, {you:"get"}, {the:"idea"}];
我正试图在其中附加一个带有键的div作为每个对象的文本:
myElement
.selectAll("div.myClass")
.data([dataObj])
.enter()
.append("div")
.attr('class', 'myClass')
.text(function(d, i) {
return Object.keys(d)[i];
});
但是这样在div
中只创建了一个myElement
元素,如下所示:
<div id='myElement'><div class='myClass'>stuff</div></div>
我错过了什么?
我也试过
myElement
.selectAll("div.myClass")
.data(dataObj)
.enter()
.append("div")
.attr('class', 'myClass')
.text(function(d, i) {
console.log("This never shows");
return Object.keys(d)[0];
});
无济于事。
答案 0 :(得分:1)
dataObj已经是一个数组。所以看起来你不需要放入数组
myElement
.selectAll("div.myClass")
.data(dataObj)
.enter()
.append("div")
.attr('class', 'myClass')
.text(function(d, i) {
return Object.keys(d)[i];
});