簡體   English   中英

無法使用d3選擇svg元素

[英]Can't select svg element with d3

我正在研究使用大腦svg圖像的可視化工具。 現在,此svg的路徑充滿了顏色。 我想遍歷所有這些路徑以將填充顏色設置為白色,但是由於某些原因,我無法獲得該元素。

該項目可以在這里看到。 svg位於div ,我什至為div分配了一個標識符brain svg本身的ID為svg2 到目前為止,我已經嘗試了以下方法:

function clearBrainColors() {
    var brain = d3.select("#svg2");
    console.log(brain);
    var paths = brain.selectAll("path");
    console.log(paths.length);
    brain.selectAll('path').each(function(d,i) { console.log(this); });
}

但是它在選擇的array [0]組件中輸出null,並在path.length中輸出0。

我也嘗試過使用諸如

var brain = d3.select("#brain svg"); var brain = d3.select("#brain svg#svg2"); 但是那些也不起作用。

那么,如何使用d3選擇大腦svg?

決定將svg內聯,因為它顯然可以加快處理速度

我用來填充svg的代碼現在是:

$("#svg2").find("path").each(function(){
       $(this).css({ fill: "#ff0000" });
    });

您可以嘗試以下示例的setTimeOut():

setTimeOut(function() {

    var brain = d3.select("#svg2");
    console.log(brain);

}, 1000);

這可能是當場生成的svg,當時d3無法獲取。

希望這個幫助:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM