[英]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.