2013-11-26 3 views
2

У меня есть rootelment rootSVG класса 'org.w3c.dom.element', и у меня есть метод, который принимает наборы имя скрипта в зависимости от условия и создает скрипт и использует appendchild для вставки этого скрипта в качестве дочерний узел для rootelement.It устанавливает атрибут («onload») корневого элемента и как этот скрипт.Как установить первый дочерний элемент `org.w3c.dom.element`?

Но мы знаем, что 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)");   
    }  

ответ

4

Попробуйте Node.insertBefore(Node newChild, Node refChild) где refChild будет ваш первый ребенок в данный момент (который, если вы не знаете, вы можете получить его по телефону Node.getFirstChild()).

Для получения дополнительной информации см. javadoc.

Смежные вопросы