在JQuery(据我的理解)完全基于DOM的情况下,而拉斐尔则恰恰相反,我怎样才能在同一文档中使用两者中最好的东西?是否有任何有效的方法来实现这一目标?
进一步说明: 我知道Raphael会在代码中创建实际的DOM元素,但是他们的ID要求我进入我创建的每个元素,然后尝试将它合并到JQuery中。是否有任何简单的方法可以在DOM元素上使用Raphael,而不是在脚本元素上使用?
谢谢!
答案 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解析器。