按属性选择ala select([“name = Myriel”])

时间:2014-10-22 22:30:55

标签: d3.js

我遗漏了关于d3选择的基本知识。使用basic d3 force layout example,我想选择一个特定的节点,比如说Myriel并修复它。按照之前的提示,例如thisthis,似乎myrielNode = d3.select(["name=Myriel"])应该这样做,但不是吗?我也尝试过基于filter()的策略,...我做错了什么,拜托?

2 个答案:

答案 0 :(得分:1)

var myrielDomNode = d3.select('[name="Myriel"]');
var myrielDatum = myrielDomNode.datum();
myrielDatum.fixed = true;

这当然假设存在一个DOM节点,该节点具有属性name="Myriel"并且绑定到数据,使得datum()是由力布局控制的对象。

更新

原来,name不是DOM节点的属性,而是数据的属性。在这种情况下,找到Myriel节点将成为数据阵列上的查找操作:通过过滤器:

myrielNode = nodes.filter(function(d) { return d.name == 'Myriel'; })[0]

答案 1 :(得分:0)

你可能想要

d3.select('[name="Myriell"]');