D3 .js选择全部传递变量

时间:2016-07-21 05:35:36

标签: javascript d3.js

我想选择具有bound-by属性的特定值的所有元素 所以clicl将执行下面的代码

并将值存储在变量中,然后应用过渡效果

var bindingProp = d3.select(this).attr("bound-by");
var test = d3.selectAll(bindingProp);
test.transition().duration(1500).delay(000).attr("x", 35);

但上面的代码没有任何建议吗?

或者是他们可以使用selectAll选择具有bound-by属性的元素的方式,还是选择all all only classNames

的方式

问题是,bound-by不是静态的,它将决定用户点击了什么元素,所以我想将一个变量传递给它,该变量将包含用户点击的我的bound-by值< / p>

1 个答案:

答案 0 :(得分:0)

试试这种方式。

var boundByVal = d3.select(this).attr("bound-by");
var el = d3.selectAll("[bound-by="+boundByVal+"]")
   .transition()
   .duration(1500)
   .delay(000)
   .attr("x", 35);

d3.select("[bound-by=boundByVal]")代码将返回将bound-by属性值设置为boundByVal的元素

var circle = d3.select("circle[bound-by=name]");
console.log(circle.node());
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script>
<svg width="200" height="200">
  <circle r="15" cx="25" cy="50" bound-by="name"></circle>
  </svg>