更改svg元素仅在某些时候有效

时间:2015-02-13 23:21:19

标签: javascript svg

我正在尝试使用javascript和html5为项目创建HMI。 在第一个实验中,我只想更改svg文档中的文本元素。

svg对象在html中定义如下:

<object id="image-svg" width="800" height="800" type="image/svg+xml" data="image.svg"></object>

这个脚本:

function update_txtPv( val )
{
    var imageSvgDoc = document.getElementById( "image-svg" ).contentDocument;
    var txtPv = imageSvgDoc.getElementById( "txtPv" );
    txtPv.textContent = val;
}

update_txtPv( "test" );

在页面加载时被调用一次。

问题是,如果我刷新页面十次,它只会将文本对象设置为“测试”三次。

如果我添加警报(“某事”);在它起作用的开头。

发生了什么事?

//约翰

1 个答案:

答案 0 :(得分:0)

所以...原来我需要等待svg文档加载才开始改变它。

使用this主题的解决方案结束。非常感谢Kaiido指出我需要在调用函数之前等待svg完成加载。