【发布时间】:2013-11-08 15:33:59
【问题描述】:
当我发现一个奇怪的行为时,我正在使用 jQuery 的 clone() 函数。
此代码重现了该问题。第一个 div 包含一个 SVG。两个按钮允许执行/撤消 SVG 的克隆到第二个 div。试了两次,圆圈就变黑了。
HTML
<div id="orgdiv">
<svg width="200" height="200" style="margin:0">
<linearGradient id="r" x1="0" y1="0" x2="1" y2="1">
<stop offset="0%" stop-color="#00ffff"></stop>
<stop offset="100%" stop-color="#ffff00"></stop>
</linearGradient>
<circle cx="100" cy="100" r="80" style="fill:url(#r)" />
</svg>
</div>
<input type="button" value="copy">
<input type="button" value="clear">
<div id="copydiv"></div>
JS
$('input[value="copy"]').click(function(){
$("#copydiv").html($("#orgdiv").clone());
});
$('input[value="clear"]').click(function(){
$("#copydiv").empty();
});
注意:
- 使用 jQuery 或 Javascript 进行克隆会导致相同的错误。
【问题讨论】:
标签: javascript jquery html svg clone