有没有一种有效的(可能)本机方式的JQuery和RaphaelJS交织在一起?

时间:2013-10-25 15:49:38

标签: jquery raphael

在JQuery(据我的理解)完全基于DOM的情况下,而拉斐尔则恰恰相反,我怎样才能在同一文档中使用两者中最好的东西?是否有任何有效的方法来实现这一目标?

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

谢谢!

1 个答案:

答案 0 :(得分: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解析器。