2015-05-04 95 views
0

元素獲取HTML節點比方說,我有一個名爲element,我創建使用波紋管代碼的HTML對象:選擇/使用D3

var xmlString = "<div class="parent"><span class="child"></span></div>" 
parser = new DOMParser() 
var element = parser.parseFromString(xmlString, "text/xml"); 

// or simply using jquery 
var string = "<div class="parent"><span class="child"></span></div>" 
var element = $(string); 

我想要做的就是使用D3選擇從elementspan.child,而不是來自文件。使用d3.select('span.child')將嘗試在html文檔中查找<span class="child"></span>

我檢查了documentation和它說:

的選擇是從當前文檔拉元件的陣列。

但我想選擇不是從文檔中,而是從我剛剛創建的element以上。有什麼辦法嗎?

回答

1

後有點調試我發現,如果element是一個對象,而不是字符串,那麼d3.select(element)不會在文件中查找element相反,它會返回element本身。

詳細信息:

d3.select = function(node) { 
    var group = [ typeof node === "string" ? d3_select(node, d3_document) : node ]; 
    group.parentNode = d3_documentElement; 
    return d3_selection([ group ]); 
    };