Если я назначу каждому объекту svg идентификатор следующим образом:
var id = [0, 0, 0];
var links = svgCanvas.selectAll("line")
.data(data.links)
.enter()
.append("line")
.attr("id", function(thisData){
if (thisData.node01 == "site01"){
var position = id[0];
var ids = position + 1
id[0] = position + 1;
return "A" + ids.toString();
}
if (thisData.node01 == "site02"){
var position = id[1];
id[0] = position + 1;
return "B" + position + 1;
}
if (thisData.node01 == "site03"){
var position = id[2];
id[0] = position + 1;
return "C" + position + 1;
})
Таким образом, каждая строка будет иметь идентификаторы A1-A10, B1-B10 и C1-C10.Как получить доступ к определенной строке для добавления модификаций?
var pos;
if (site == "site01"){
pos = "A";
}
if (site == "site02"){
pos = "B";
}
if (site == "site03"){
pos = "C";
}
var i;
for (i = 1; i< 11; i++){
var po = pos + i.toString();
console.log(po);
svgCanvas.selectAll("line").select(["id" == pos]).attr("opacity", 1);
}
, поэтому в основном существует файл .json, в котором есть узлы и ссылки.Я хочу иметь возможность изменять непрозрачность некоторых линий, которые подключены к определенному узлу, когда я наводю указатель мыши на этот узел.Если использование идентификатора не является правильным решением, есть ли другой способ?