innerHTML在IE 10中不起作用

时间:2015-02-19 11:04:34

标签: javascript html internet-explorer svg

我有IE 10,我有svg图像。在svg中,我将TEXT元素与

放在一起
var newElement = function(name, attr) {
var svgNS = "http://www.w3.org/2000/svg";  
var tmp = document.createElementNS(svgNS, name);
for (k in attr) {
    if (k === 'style') {
        for (s in attr[k]) {
            tmp.style[s] = attr[k][s]; 
        }
    } else if (k === 'innerHTML') {
        console.log('Break 1('+typeof(attr[k])+')'+ attr[k]);
        console.log('Break 2: '+tmp.innerHTML);
        tmp.innerHTML = attr[k];
        console.log('Break 3: '+tmp.innerHTML);
    } else {
        tmp.setAttributeNS(null, k, attr[k]);
    }
}

console.log('Break 4: ');
console.log(tmp);
return tmp;

};

我不能仅在IE中看到放置文本。在FF和Chrome中它可以正常工作。 在源代码中我可以看到空文本元素,但文本元素有属性。

从IE控制台登录:

Break 1(string)Coś tam Marzec: 158
Break 2: undefined
Break 3: Coś tam Marzec: 158
Break 4: 
<text id="1135198_point_2_desc" font-size="11" visibility="hidden" text-anchor="middle" x="204.8182" y="209.68"></text>

Firefox控制台:

Break 1(string)Legenda Pionowa
svg.html (wiersz 50)
Break 2:
svg.html (wiersz 51)
Break 3: Legenda Pionowa
svg.html (wiersz 53)
Break 4:
svg.html (wiersz 59)
<text x="0" y="130" text-anchor="middle" fill="#000000" transform="rotate(-90, 20, 130)">

在firefox文本中是TEXT元素

1 个答案:

答案 0 :(得分:1)

好的我解决了我的问题。我用https://code.google.com/p/innersvg/ 我将innerHTML替换为innerSVG