0

私はsvgファイルを持っています。ファイルには多数のグループがあります (「SVG ファイルの例」を参照)。ファイル内に第 1 レベルのグループがいくつあるかはわかりません。fabricjs を使用して、結果のような svg ファイル内のグループの数を調べるにはどうすればよいですか (「探している結果」を参照)。

SVG ファイルの例:

<g id="group1">
    <rect id="rect1" x="0" y="0" fill="#00FF00" width="10" height="10"/>
    <rect id="rect2" x="10" y="10" fill="#FF0000" width="10" height="10"/>
    <rect id="rect3" x="20" y="20" fill="#0000FF" width="10" height="10"/>
</g>

私が探している結果:

#found 3 group ID's:
group1
group2
group3
4

1 に答える 1

0

Fabric はわかりませんが、必要に応じて次のように JavaScript を使用できると思います...

var svg = document.getElementById("mainsvg");

var groupCount = 0;
var childNodes = svg.childNodes;
var childNumber = childNodes.length;

for( a=0; a<childNumber; a++ ) {

    if( childNodes[ a ].localName == 'g' ) {
        console.log( childNodes[a].attributes.id.value );
        groupCount++; 
    }
}

console.log( groupCount );

ここにフィドルがあります.. http://jsfiddle.net/5RyZK/3/ (最初にIDがあるかどうかを確認し、配列などにプッシュすることをお勧めします。

于 2013-10-29T20:25:38.233 に答える