我想选择具有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>
答案 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>