Javascript 我更改了“;“类”;SVG中存在但未应用的节点的属性!为什么?

Javascript 我更改了“;“类”;SVG中存在但未应用的节点的属性!为什么?,javascript,angularjs,svg,d3.js,Javascript,Angularjs,Svg,D3.js,我更改了SVG中存在但未应用的节点的“class”属性 这是我的代码(在我的指令angularJs中): 为什么? TNX看起来您正在更改节点内“g”的“class”属性,而不是节点本身的类。要更改节点的类别,只需执行以下操作: var newNode = node.attr("class",function (d) { return "node " + d.class; }) 不知道你在问什么。您正在附加新元素并设置其类。你是说这门课没有定下来吗?这不是我的意思。我的问题是:我用D3画一个

我更改了SVG中存在但未应用的节点的“class”属性

这是我的代码(在我的指令angularJs中):

为什么?


TNX

看起来您正在更改节点内
“g”
“class”
属性,而不是节点本身的类。要更改节点的类别,只需执行以下操作:

var newNode = node.attr("class",function (d) { return  "node " + d.class; })

不知道你在问什么。您正在附加新元素并设置其类。你是说这门课没有定下来吗?这不是我的意思。我的问题是:我用D3画一个图,任何“g”都有“class”。但是,当我更改节点(force.nodes())的“class”属性并重新绘制图形时,新的“class”不会应用于“g”。为什么?@Larskotthoff你能把你用来做这件事的代码贴出来吗?thnx Lars。这显示了我的问题,我画了我的图表,2秒后。我更改最后一个节点的“名称”,然后重新启动图形。但是“名字”不会变@LarsKotthoffIt看起来你只是在更新数据。这不会自动更新DOM元素。在我看来,
node
g
元素的选择。在任何情况下,OP都是在更改新附加元素的类。这不是我的意思。我的问题是:我用D3画一个图,任何“g”都有“class”。但是,当我更改节点(force.nodes())的“class”属性并重新绘制图形时,新的“class”不会应用于“g”。为什么?@汤姆汤姆
var newNode = node.attr("class",function (d) { return  "node " + d.class; })