通过 jQuery.svg 进行 SVG
在 jQuery svg 插件 (http://plugins.jquery.com/project/svg) 中使用svg 是从 div 元素开始执行的,并在 div 内部创建新的 svg 对象:
使用以下内容将 SVG 画布附加到 a:
$(selector).svg();
是否可以使用 jquery 连接到现有的 svg-object?如果“是”怎么办?
编辑: 建议提示:
<body onload="alert('loaded');testSvg();">
<div id="div3" style="border: solid 1px black; width:200px; height:100px">
<svg id="svg3" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"></svg>
</div>
<script type="text/javascript">
function testSvg() {
var svgRootElement = $("#svg3").get();
var svgWrapper = new $.svg._wrapperClass(svgRootElement);
svgWrapper.circle(30, 25, 50, { fill: 'red' });
}
导致错误:
“TypeError:无法获取属性“createElementNS”的值:对象为 null 或未定义”错误...
为什么?
In jQuery svg plugin (http://plugins.jquery.com/project/svg) work with svg is performed starting from div element and creating new svg object inside of div:
Attach an SVG canvas to a with the following:
$(selector).svg();
Is it possible to connect with jquery to existing svg-object? If "yes" how to do that?
EDIT:
Suggested tip:
<body onload="alert('loaded');testSvg();">
<div id="div3" style="border: solid 1px black; width:200px; height:100px">
<svg id="svg3" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"></svg>
</div>
<script type="text/javascript">
function testSvg() {
var svgRootElement = $("#svg3").get();
var svgWrapper = new $.svg._wrapperClass(svgRootElement);
svgWrapper.circle(30, 25, 50, { fill: 'red' });
}
causes an error:
'TypeError: Unable to get value of the property 'createElementNS': object is null or undefined' error...
why?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是的,这是可能的。 此处对此进行了描述,尽管它有点难找到。如果您使用内联 SVG(例如,您没有使用对象标签或 iframe 将 SVG 嵌入到 HTML 中),则以下内容应该有效:
Yes, it is possible. It's described here, although it's a bit difficult to find. If you're using inline SVG (e.g. you're not embedding SVG into HTML using an object tag, or an iframe), then the following should work: