如何设置`org.w3c.dom.element`的第一个子节点?

时间:2013-11-26 10:49:23

标签: java dom w3c

我有一个'org.w3c.dom.element'类的rootelment rootSVG,我有一个方法,根据条件设置脚本的名称,并创建一个scriptelement并使用appendchild来将该scriptelement插入为rootelement的子节点。它设置根元素的属性(“onload”)并作为此脚本。

但我们知道appendchild总是插入一个节点作为最后一个子节点,我想知道是否有任何机制可以将此元素设置为rootelement的第一个子节点,因为在IE中我有时会得到消息我们第一次加载页面时未定义脚本。以下是代码段。

     if ( bEnableMouseEvents )
     {
        String scriptName = "SvgScriptUtils";            
        if ( !bUsingPlugin )
           scriptName = scriptName + "Native";
        // insert external javascript driver for tooltips/navigation-mode/popups            
        rootSVG.setAttribute("contentScriptType", "text/ecmascript");
        Element scriptElement = doc.createElementNS(SVGDOMImplementation.SVG_NAMESPACE_URI, SVGConstants.SVG_SCRIPT_TAG);
        scriptElement.setAttribute("type", "text/ecmascript");
        XlinkHref.set(scriptElement, "/scripts/" + scriptName + ".fs");
        rootSVG.appendChild(scriptElement);
        rootSVG.setAttribute("onload", scriptName + ".initMOS(evt)");           
     }    

1 个答案:

答案 0 :(得分:5)

尝试Node.insertBefore(Node newChild, Node refChild) refChild将成为您当前的第一个孩子(如果您不知道,可以通过拨打Node.getFirstChild()获取)。

有关详细信息,请查看javadoc