簡體   English   中英

D3 v4 - 訪問選擇數組並找到相應的元素

[英]D3 v4 - Accessing selection array and find corresponding element

我正試圖讓一個約束放松,為我的餅圖工作。 它基於這個示例https://jsfiddle.net/thudfactor/HdwTH/但是使用的放松方法似乎不再適用於v4。
具體問題是他們如何直接訪問選擇組數組:

textLabels = labelGroups.append("text").attr( ... );

if(again) {
        labelElements = textLabels[0];     <------------- here
        textLines.attr("y2",function(d,i) {
            labelForLine = d3.select(labelElements[i]);
            return labelForLine.attr("y");
        });
        setTimeout(relax,20)
    }

使用D3 v4.x更改了如何訪問選擇組數組?
你現在怎么樣?

在D3 4.0中,選擇不再是數組。 根據API:

選擇不再使用原型鏈注入子類化Array; 它們現在是普通物體,提高了性能。

所以,如果你使用console.log(textLabels) ,你會看到類似這樣的東西:

{_groups: Array[1], _parents: Array[1]}

具體取決於您選擇的是什么。 從那里,您可以使用textLabels._groups訪問您的陣列。

對於擁有數組,您必須使用selection.nodes() ,根據API:

返回此選擇中所有(非null)元素的數組。

暫無
暫無

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

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