在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'错误...
为什么?
答案 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()
})