SVG/为什么用js生成了path页面没有。

代码:

<script type="text/javascript">
    $("button").click(function(){
        for(var x=0;x<80;x++){
            $("<path d='M300 200 Q"+x*10+" 900 350 200' stroke='orange' stroke-width='5' fill='none' />").appendTo("svg");
        }
    })
</script>

我在html里面写可以生成、用js写页面已经添加进去了,但是不显示。
放在把js代码放在svg里面也没用- -。。刚学习,求大神指教

clipboard.png

阅读 6.6k
3 个回答

用jq操作svg。。。 这个会很蛋疼的。 换成d3.js操作

var svg = d3.select("#svg");
for(...){
    svg.append("path").attr("d",'M300 200 Q'+x*10+' 900 350 200').attr(...);
}

就OK了。

可以认为d3是svg版的jq

猜到了一部分。要重构下svg= =
$("svg").html($("svg").html())

这是因为SVG比较特殊,这里的原因是因为SVG不是html标签,或者说命名空间不一样,应该使用svg的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题