以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 XML基础 』  (http://bbs.xml.org.cn/list.asp?boardid=1)
----  绝对够水平的问题!关于DOM  (http://bbs.xml.org.cn/dispbbs.asp?boardid=1&rootid=&id=5485)


--  作者:lyn11091
--  发布时间:2/29/2004 12:43:00 AM

--  绝对够水平的问题!关于DOM
兄弟写了一个函数,用来在某个节点下创建一个子节点。函数没有问题,但是我想在函数结束时返回创建的这个字节点,这样别的节点可以在它下面接着建立了。可是发现返回不合法,请问应该怎么实现?

function CreateXMLElement(DOM, ParentElement, ElementName, AttrName, AttrValue, CDATA)
{

 LogComment("--Begin CreateXMLElement.");
 try
 {
  if (!ParentElement.NothingFound)
  {
   //Create the element with specified name
   var element = DOM.createElement(ElementName); 
   //Set attribute of element if it has
   if (AttrName!= "")
   {
    var attr = DOM.createAttribute(AttrName);
    attr.value = AttrValue;
    element.setAttributeNode(attr);
   }
   else
   {
    LogComment("Element-"+ElementName+" has no attribute.");
   }
   //Set text of the element if it has
   if (CDATA!= "")
   {
    //element.text(Text);
    var cd =DOM.createCDATASection(CDATA);
    element.appendChild(cd);
    cd = null;
   }
   else
   {
    LogComment("Element-"+ElementName+" has no CDATA text.");
   }
   //Append the element to parent element
   ParentElement.appendChild(element);
  }
  else
  {
   LogComment("***Error: Missing the ParentElement, fail to create element.");
  }
 }
 catch(err)
 {
  LogComment("***Error: An error has been thrown.");
 }

 LogComment("--Complete CreateXMLElement.");
 return element;  //这样不行
}


--  作者:lyn11091
--  发布时间:2/29/2004 1:12:00 AM

--  
自己回答了:

append() 方法会返回创建的子节点。

所以这样就可以了:
var ChildNode = ParentElement.appendChild(element);
return ChildNode;

MSDN还是要多看呀!


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
109.375ms