Как получить доступ к className, чтобы скрыть путь Рафаэля, работает в Chrome, а не в IE - PullRequest
0 голосов
/ 16 марта 2012

У меня есть этот код для применения класса к пути Raphael SVG:

if ( ! ( $.browser.msie)){
    obj.node.setAttribute('class','statepath');
}else{
obj.node.setAttribute('className','statepath');
}

IE принимает свойство className, но нет класса, поэтому разметка заканчивается примерно так:

className = 'statepath' in IE
class = 'statepath' in good browsers

Я пытаюсь скрыть все пути и анимировать тот, который нажал.Я могу добиться этого, используя это событие

obj.click(function(){
    //document.getElementsByClassName('statepath').(Element.hide); -- not working
$('.statepath').hide();  // works on Good Browsers      
});

Этот код las работает только в хороших браузерах, но в IE - нет.Связано ли это с атрибутом className, к которому jquery не может получить доступ или к чему-то еще?

1 Ответ

1 голос
/ 16 марта 2012

Rapahel использует SVG практически для всех браузеров и использует IE в VML. Это может объяснить, почему не работает вызов hide(), jQuery не сможет скрыть элемент VML.

Вы пробовали метод Рафаэля hide()? http://raphaeljs.com/reference.html#Element.hide

...