2012-12-19 30 views
6

jQuery旨在用于带有JavaScript的HTML页面。带有SVG文档的jQuery

SVG使用相同的DOM级别2为HTML但是基于XML和ECMAScript的指定。

可能会导致什么样的问题,从使用jQuery与SVG?将这种SVG作为元素嵌入到HTML文档中会更好吗?

注意,我不是指“jQuery的SVG”绘图库,一个HTML文档使用jQuery语法图形端口提供了一个SVG元素的操作。我想要的是在SVG元素上使用jQuery选择器和事件管理,而SVG根可能在HTML内部或不在。

+0

回复:javascript vs ecmascript的混淆,请参阅http://stackoverflow.com/questions/912479/what-is-the-difference-between-javascript-and-ecmascript。 –

+0

可能的重复:http://stackoverflow.com/questions/2294801/jquery-under-svg。无论如何,为什么不试试D3.js呢? D3具有简单的事件绑定和选择器。特别是因为你似乎不太关心不支持SVG的浏览器。 –

+0

@ErikDahlström哦,谢谢! – Potatoswatter

回答

2

尝试它,选择似乎工作,但其他的东西没有。初始化页面的$(function() { })惯用法不起作用,因为SVG仅将SVGLoad事件传递给顶部<svg>元素。尽管如此,$('svg').bind('SVGLoad', function(){})确实有效。

.append动态添加元素使他们在DOM,使得他们没有得到呈现,至少在Firefox浏览器。即使在文档重新呈现后,幻影元素仍然不可见,包括动态添加的元素,而不使用jQuery。 $().attr(key, value)可能会更改属性,但不会更新屏幕显示。

这一切似乎不幸折断。一旦它嵌入到XHTML文档中,更多功能就可以使用。但是上述缺陷仍然存在,使用其他框架可能会更好。也许给jQuery SVG再看一看...