假设我想通过变量id ='myID'选择id为'myID'的元素。 通常我会直接选择元素:
d3.select("[id=myID]").attr("fill", "#ccc");
但是如何通过变量做到这一点? 我试过像:
d3.select("[id=" + id + "]").attr("fill", "#ccc");
但那当然会返回错误。 有人知道怎么做吗?
先谢谢,monkian
答案 0 :(得分:3)
要按ID选择元素,您可以使用#
表示法:
d3.select("#myID").attr("fill", "#ccc");
或
var x = "myID";
d3.select("#" + x).attr("fill", "#ccc");
演示here。
答案 1 :(得分:0)
这对我有用: 要将变量id分配给d3.selectAll,我所做的是 - >
var a=d.data.id;
var b="\"";
var position = 0;
var output = [a.slice(0, position), b,
a.slice(position)].join('');
output += "\"";
d3.selectAll("[id=" + output + "]")
简而言之,我正在选择一个具有某个id的元素(每个元素都是可变的),然后在变量的开头和结尾附加"
,然后将其传递给d3的selectAll menthod。