我使用的是D3,当我在节点上悬停时,我希望出现一个文本框,并将所有的节点属性写入其中。我制作了一个文本框,并使im能够将我知道的属性写到文本框中:
function onHover(){
d3.selectAll("#nodeAttributes")
.text(function() { return (d.type); }) //random attribute i know
;
}
这在节点上的'mouseover‘上被调用。但是,如果我不知道节点有哪些属性呢?如何循环遍历所有属性并将所有属性写入文本框。我的数据看起来与此类似:
nodes: [
{
"type": "o",
"name": "fred",
"age": "16",
"class": "maths",
.
.
.
.
},
我希望输出的文本看起来像:
type: o
name: fred
age: 16
class: maths
我不确定如何循环遍历所选节点(d)的每个属性
提前感谢
发布于 2015-05-15 04:03:42
可以使用以下代码在对象中迭代:
function onHover() {
d3.selectAll('#nodeAttributes').html(function (d) {
var str = '';
for (var key in d) {
str += key + ': ' + d[key] + '<br/>'
}
return str;
}
);
}
https://stackoverflow.com/questions/30258969
复制相似问题