【问题标题】:How to set the first child of `org.w3c.dom.element`?如何设置`org.w3c.dom.element`的第一个孩子?
【发布时间】:2013-12-11 11:18:14
【问题描述】:

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

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

     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)");           
     }    

【问题讨论】:

    标签: java dom w3c


    【解决方案1】:

    尝试Node.insertBefore(Node newChild, Node refChild),其中refChild 将是您当前的第一个孩子(如果您不知道,可以通过调用Node.getFirstChild() 得到它)。

    有关更多信息,请查看javadoc

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-11
      • 2022-06-28
      • 1970-01-01
      • 1970-01-01
      • 2011-08-16
      • 2011-02-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多