如何在现有的svg-object上创建JQuery包装器?

在类似的主题中,我已经问过这是否可行(http://stackoverflow.com/questions/6006364/svg-through-the-jquery-svg),但是当我尝试实现它时:

 
function testSvg() { var svgRootElement = $("#svg3").get(); var svgWrapper = new $.svg._wrapperClass(svgRootElement); svgWrapper.circle(30, 25, 50, { fill: 'red' }); }

我有一个错误:

‘TypeError:无法获取属性’createElementNS’的值:object为null或undefined’错误…

为什么? 如何解决?

谢谢!

你想获得第一个DOM元素,而不是数组。 使用数组访问器或.get(0)

 var svgRootElement = $("#svg3")[0]; console.log(svgRootElement); var svgWrapper = new $.svg._wrapperClass(svgRootElement); svgWrapper.circle(30, 25, 50, { fill: 'red' }); 

这里的工作示例: http : //jsfiddle.net/nrabinowitz/kJCAr/