0

Raphael を使用して、以下の例のように Id 属性を持つ長方形を作成したいと思います。

<rect id="aRect" x="10" y="10" width="50" height="50" r="2" rx="2" ry="2"/>

長方形を作成するには、次のようなコードを使用できます

var elem = _paper.rect(10, 10, 50, 50, 2);

このようなコードを使用してIDを設定します

elem[0].setAttributeNS(null, 'id', 'aRect');

またはこのようなコードで

elem.node.id = 'aRect';

現在、raphael は古い IE の右側で vml にフォールバックしています。vml ケースにも対応する id 属性を追加するにはどうすればよいですか、またはこのコードはそれに対しても機能しますか?

4

1 に答える 1

0

ここのMSページを読んだ後、IDを設定するためにこのソリューションを実装しました。

function setId(el, id){
    if(el === null || typeof el !== 'object') return;
    if(Raphael.type === 'SVG') {
        el[0].setAttributeNS(null, 'id', id);
    }
    else if(Raphael.type === 'VML') {
        el[0].id = id;
    }
}
于 2012-10-11T10:50:51.123 に答える