在SVG中无法通过ID找到流动的文本元素

时间:2010-07-29 01:08:20

标签: javascript animation svg element getelementbyid

我一直在SVG中玩动画: http://imgh.us/renamon-animtest.svg(链接到脚本“anim.js”)

在window.onload事件中,我有:

function init(evt)
{
    if(window.svgDocument == null)
    {
        if(evt.target && evt.target.ownerDocument)
            svgDocument = evt.target.ownerDocument;
        else if(evt.originalTarget && evt.originalTarget.ownerDocument)
            svgDocument = evt.originalTarget.ownerDocument;
        else svgDocument = document;
    }

    _debug = svgDocument.getElementById('debug');
    alert(_debug.firstChild.nodeValue);

    for(i = 0; i < 1; i++)
        balls[i] = svgDocument.getElementById('ball' + i);
    setInterval(loop, 50);
}

它可以很好地找到'ball'对象,但不能找到'debug'对象(getElementById返回null)。我可以在源代码中看到它,为什么脚本找不到呢?

1 个答案:

答案 0 :(得分:1)

很可能你正在测试SVG 1.1的实现,因为在SVG 1.2中引入了flowRoot 忽略无效元素,因此不会显示在DOM