web-dev-qa-db-ja.com

d3。属性値による選択

私はd3が初めてです。私はこのように定義されたものがあります:

node = node.enter().append("circle")
            .attr('id', function(d){ return d.id; })
            .attr("class", "node")
            .on('mouseover', mouseover_node)
            .on("click", nodeClick);

ここで、関数nodeClickで、特別なIDでノード(または円)にアクセスします。私はこのように使用できるものを探しています:

for(var i=0;i<maxId;i++) {
    d3.select(the node with id = i).do....

誰も私がこれを行う方法を知っていますか?

25
Milad

あなたの問題は、 idsとnamesは文字 で始まる必要があるということです。したがって、各idに文字列を追加するようにコードを変更します。

_.attr('id', function(d){ return 'name' + d.id; })
_

次に、d3.select( '#name' + i )を使用して特定のノードを選択できます。 ドキュメント からD3選択:

...タグ( "div")、クラス( ".awesome")、一意の識別子( "#foo")、属性( "[color = red]")、または包含( "parent child")で選択できます。

44
mdml