Атрибуты 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;
}
}