Атрибуты Raphael.js и VML

С Рафаэлем я хотел бы создать прямоугольник с атрибутом 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);

и установите идентификатор с помощью кода, как это

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

или с таким кодом

elem.node.id = 'aRect';

Теперь Raphael возвращается к vml на более старых версиях IE, как я могу добавить атрибут id, который также обслуживает случай vml, или этот код работает для этого тоже?

1 ответ

Решение

После прочтения на странице MS здесь я реализовал это решение для установки идентификатора.

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;
    }
}
Другие вопросы по тегам