SVG通过jQuery.svg

时间:2011-05-15 03:49:25

标签: javascript jquery html5 svg

在jQuery svg插件(http://plugins.jquery.com/project/svg)中,从div元素开始执行svg,并在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'的值:object为null或undefined'错误...

为什么?

1 个答案:

答案 0 :(得分:1)

是的,有可能。它描述了here,虽然它有点难以找到。如果您正在使用内联SVG(例如,您没有使用对象标记或iframe将SVG嵌入到HTML中),那么以下内容应该有效:

$(document).ready(function(){
var svgRootElement = $("#myExistingSVGObject");
var svgWrapper = new $.svg._wrapperClass(svgRootElement); // this is the equivalent of what is returned from the call to .svg()
})