Javascript IE 10和IE 11中未显示简单SVG网格

Javascript IE 10和IE 11中未显示简单SVG网格,javascript,jquery,internet-explorer,svg,Javascript,Jquery,Internet Explorer,Svg,我有一个小小的SVG网格 <svg id="grid-svg" width="100%" height="100%" xmlns="http://www.w3.org/2000/svg"> <defs> <pattern id="smallGrid" width="10" height="10" patternUnits="userSpaceOnUse"> <path d="M 10 0 L 0 0 0 10" fill="non

我有一个小小的SVG网格

<svg id="grid-svg" width="100%" height="100%" xmlns="http://www.w3.org/2000/svg">
  <defs>
    <pattern id="smallGrid" width="10" height="10" patternUnits="userSpaceOnUse">
      <path d="M 10 0 L 0 0 0 10" fill="none" stroke="#000000" stroke-width="0.7" />
    </pattern>
    <pattern id="grid" width="100" height="100" patternUnits="userSpaceOnUse">
      <rect width="100" height="100" fill="url(#smallGrid)" />
    </pattern>
  </defs>
  <rect x="-100%" y="-100%" width="200%" height="200%" fill="url(#grid)" />
</svg>

我在html模板中得到了它。因为我不希望它因为某种原因而留在主页上。 然后我只是克隆了这段SVG,创建了一个包装器div,并将网格SVG附加到其中。 然后使用jQuery动态应用网格

它适用于Chrome和Firefox,但不适用于IE10和IE11

你知道为什么吗


谢谢。

这已经解决了,我正在做一个jquery clone()从模板中获取它,这是错误的。现在它工作正常。

我正在使用D3.js使用SVG,我也遇到了同样的问题。
我编写了下面的代码来解决这个问题

    $('#lineChartSVG g').remove();
    $('#lineChartSVG path').remove();
在这里,我删除了以前的g和path,替换为新的


将标记保留在静态内容中,然后在使用代码的地方调用上述代码。这应该行得通

Hi@msqar,我也面临同样的问题。我使用.html()方法将defs附加到svg,它在除IE9+之外的所有浏览器中都可以正常工作。你能帮帮我吗$('#lineChartSVG').html('');