Javascript 使用<;时强制重新绘制svg;使用>;对于svg数据

Javascript 使用<;时强制重新绘制svg;使用>;对于svg数据,javascript,ajax,svg,redraw,Javascript,Ajax,Svg,Redraw,我有一个svg元素(#svg_包装器),它使用一个元素来显示:none div parent(#svg_loader)加载存储在dom中的svg数据(由ajax更新)。在将更新后的svg标记加载到隐藏的div中后,如何强制重新绘制元素使用的svg数据 在我的例子中,必须使用,因为这是我将加载的svg扩展到容器大小(#timeline_wrapper)的唯一方法 我成功地在#svg_加载器中添加了更新的svg节点,但是浏览器没有重新呈现更改。如何强制它重新绘制刚刚加载到DOM中的已更改svg(并替

我有一个svg元素(#svg_包装器),它使用一个元素来显示:none div parent(#svg_loader)加载存储在dom中的svg数据(由ajax更新)。在将更新后的svg标记加载到隐藏的div中后,如何强制重新绘制元素使用的svg数据

在我的例子中,必须使用,因为这是我将加载的svg扩展到容器大小(#timeline_wrapper)的唯一方法

我成功地在#svg_加载器中添加了更新的svg节点,但是浏览器没有重新呈现更改。如何强制它重新绘制刚刚加载到DOM中的已更改svg(并替换了以前的svg)


ajax更新了svg数据
刷新隐藏div的
innerHTML
并重新附加新数据怎么样

简单到:

var hiddenDiv = document.getElementById('yourHiddenDiv');
hiddenDiv.innerHTML = ''; 
hiddenDiv.innerHTML = svgData; //where svgData is your new svg string
作为旁注:

虽然更改SVG的内部数据会迫使它重新绘制,但也可以尝试不直接更改SVG的数据

您可以用新的字符串替换整个SVG字符串-如果您没有通过AJAX调用获得带有
标记的整个SVG字符串数据,您只需创建自己的字符串(完全SVG格式)并将AJAX数据连接在其中,然后通过
innerHTML=yourFullSvgString
附加它,如上所述

我是用$(hiddenDiv.html('wholedata')完成的;并且不会发生重新招标。这是因为显示div中的错误吗?
var hiddenDiv = document.getElementById('yourHiddenDiv');
hiddenDiv.innerHTML = ''; 
hiddenDiv.innerHTML = svgData; //where svgData is your new svg string