鍍金池/ 問答/HTML/ d3.js綁定到元素上的數(shù)據(jù)的某個(gè)屬性值更新,怎么更新其子元素對應(yīng)的值

d3.js綁定到元素上的數(shù)據(jù)的某個(gè)屬性值更新,怎么更新其子元素對應(yīng)的值

  var node = this.vis.selectAll('.node').data(nodes, function(d) {
                    return d.id;
                });

  var svg = node.enter().append('svg:svg').classed('node',true);
        svg.append('svg:image').attr('href',function(d){return d.src});
        

如上,點(diǎn)擊刷新時(shí),nodes數(shù)據(jù)已經(jīng)更新,但img上的d拿到的數(shù)據(jù)還是之前綁定的數(shù)據(jù),并不是最新的數(shù)據(jù)

回答
編輯回答
不將就

enter只適用于新增加的元素,如果希望已有元素update的話可以使用下列方式

node.select('svg:image').attr('href', function(d) { return d.src });

關(guān)于D3.js Update、Enter、Exit推薦看一下這篇文章http://wiki.jikexueyuan.com/p...

2017年6月26日 22:58