Как получить доступ к одному объекту SVG, используя атрибут "ID" - JavaScript - D3 - PullRequest
0 голосов
/ 19 мая 2018

Если я назначу каждому объекту 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, в котором есть узлы и ссылки.Я хочу иметь возможность изменять непрозрачность некоторых линий, которые подключены к определенному узлу, когда я наводю указатель мыши на этот узел.Если использование идентификатора не является правильным решением, есть ли другой способ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...