-2

JQuery(据我所知)完全基于 DOM,而 Raphael 正好相反,我怎样才能在同一个文档中使用两全其美?有没有有效的方法来实现这一目标?

进一步说明:我知道 Raphael 会在代码中创建实际的 DOM 元素,但它们的 ID 要求我进入我创建的每个元素,然后尝试将其合并到 JQuery 中。有什么简单的方法可以在 DOM 元素上而不是在脚本元素上使用 Raphael?

谢谢 !

4

1 回答 1

0

不幸的是,Raphael 不能使用它没有创建的 DOM 元素。但是,您可以做的是使用raphael-svg-import库导入 svg,因此与 jQuery 结合使用将如下所示:

var mySvg = $('svg#IdOfMySVGElement')
var paper = Raphael(10, 10, 800, 500);
var set = paper.set();
paper.importSVG(mySvg.html(), set);
//the whole svg will be recreated so we need to remove the original
mySvg.remove();

请记住,它仅适用于启用 svg 的浏览器。对于 VML,您将需要寻找其他解决方案或编写您自己的 vml 解析器。

于 2013-10-28T08:01:17.353 回答