我有一个'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)");
}
答案 0 :(得分:5)
尝试Node.insertBefore(Node newChild, Node refChild)
refChild
将成为您当前的第一个孩子(如果您不知道,可以通过拨打Node.getFirstChild()
获取)。
有关详细信息,请查看javadoc。