Javascript 将xml追加到div时在IE中添加额外命名空间

Javascript 将xml追加到div时在IE中添加额外命名空间,javascript,jquery,html,svg,Javascript,Jquery,Html,Svg,我尝试了另一种方法: **xmlns:NS1=\"\" NS1:xmlns:xml=\"http://www.w3.org/XML/1998/namespace\"** 这会去掉额外的名称空间,但当我尝试将其添加到另一个svg对象时,这次在将子对象添加到父对象时会得到相同的额外名称空间 这导致我的svg无法打开 我在谷歌上搜索了很多。跟帖:, 我尝试了:new DOMParser().parseFromString(内容为“text/xml”) 这对我不起作用。我想我做错了什么。有人能指出

我尝试了另一种方法:

 **xmlns:NS1=\"\"  NS1:xmlns:xml=\"http://www.w3.org/XML/1998/namespace\"**
这会去掉额外的名称空间,但当我尝试将其添加到另一个svg对象时,这次在将子对象添加到父对象时会得到相同的额外名称空间

这导致我的svg无法打开

我在谷歌上搜索了很多。跟帖:, 我尝试了:new DOMParser().parseFromString(内容为“text/xml”) 这对我不起作用。我想我做错了什么。有人能指出哪里出了问题吗

@dmccabe
@托马斯:好的。提出了以下解决方案:

var wrapper = document.**createElementNS**('http://www.w3.org/2000/svg', 'g');

wrapper.setAttributeNS('http://www.w3.org/2000/xmlns/', 'xmlns', 'http://www.w3.org/2000/svg');

wrapper.setAttributeNS('http://www.w3.org/2000/xmlns/', 'xmlns:xlink', 'http://www.w3.org/1999/xlink');
parser.parseFromString是将字符串转换为svg dom结构所必需的。在这一切之后,svg仍然没有显示出来。当我从svg元素中删除以下三个属性时,svg显示正确!!:
requiredFeatures、requiredExtensions和systemLanguage//删除这些属性。

SVG组元素必须位于
元素内。不能将它们直接插入到
中。
var wrapper = document.**createElementNS**('http://www.w3.org/2000/svg', 'g');

wrapper.setAttributeNS('http://www.w3.org/2000/xmlns/', 'xmlns', 'http://www.w3.org/2000/svg');

wrapper.setAttributeNS('http://www.w3.org/2000/xmlns/', 'xmlns:xlink', 'http://www.w3.org/1999/xlink');
            var insertSvgTag =
            '<g transform="scale(0.34) translate(75,60)">' + svgElem.outerHTML + '</g>';

            var wrapper = document.createElementNS('http://www.w3.org/2000/svg', 'g');
            wrapper.setAttributeNS('http://www.w3.org/2000/xmlns/', 'xmlns', 'http://www.w3.org/2000/svg');
            wrapper.setAttributeNS('http://www.w3.org/2000/xmlns/', 'xmlns:xlink', 'http://www.w3.org/1999/xlink');
            wrapper.setAttribute("transform", "scale(0.34) translate(75,60)");

            var xmlString = insertSvgTag        
            , parser = new DOMParser()
            , doc = parser.parseFromString(xmlString, "image/svg+xml");
            doc.firstChild.firstChild.removeAttribute("requiredFeatures");                  
            doc.firstChild.firstChild.removeAttribute("requiredExtensions");
            doc.firstChild.firstChild.removeAttribute("systemLanguage");
            wrapper.appendChild(doc.firstChild.firstChild);
 xmlns:NS1=\"\"  NS1:xmlns:xml=\"http://www.w3.org/XML/1998/namespace\"