我是jQuery的新手,在克隆之后尝试更改SVG元素的属性,但属性不会改变。我可以告诉它成功复制并附加矩形(你可以告诉因为透明度),但它并没有像我期望的那样将新矩形向右移动。有谁知道为什么这不起作用?
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function(){
$("rect#current").clone().attr("x","10").appendTo($("svg"));
});
});
</script>
</head>
<body>
<svg width="100" height="20">
<rect y="0" x="0" height="10" width="10" id="current"
style="fill:#000000;fill-opacity:0.1;stroke:#000000;stroke-width:1;stroke-opacity:0.5;"/>
</svg><br/>
<button>Clone</button><br>
</body>
</html>
答案 0 :(得分:4)
似乎在这里工作:
http://jsfiddle.net/jtbowden/BzJtU/
还有其他事情发生吗?我还要提到你需要在克隆元素后更改id,否则最终会得到两个具有相同id的元素,这些元素不是有效的XML。
这是一个小提琴,我克隆矩形,移动它超过10,并使克隆成为新的#current
元素: