home *** CD-ROM | disk | FTP | other *** search
/ PC World 2008 April / PCWorld_2008-04_cd.bin / multimedia / mediacoder / MediaCoder-0.6.0.3905.exe / extensions / _include / domhelper.js next >
Text File  |  2007-02-05  |  2KB  |  100 lines

  1. function getNextNode(node)
  2. {
  3.     do {
  4.         node = node.nextSibling;
  5.     } while (node && node.nodeType!=1);
  6.     return node;
  7. }
  8.  
  9. function getChildNode(node)
  10. {
  11.     node = node.firstChild;
  12.     while (node && node.nodeType != 1) {
  13.         node = node.nextSibling;
  14.     } 
  15.     return node;
  16. }
  17.  
  18. function getLastChildNode(node)
  19. {
  20.     node=node.lastChild;
  21.     while (node && x.nodeType!=1) {
  22.         node=node.previousSibling;
  23.     }
  24.     return node;
  25. }
  26.  
  27. function getNodeValue(node)
  28. {
  29.     return node.firstChild ? node.firstChild.nodeValue : null
  30. }
  31.  
  32. function getParentNode(node)
  33. {
  34.     return node.parentNode;
  35. }
  36.  
  37. function getNodeByName(node, name)
  38. {
  39.     for (; node && node.nodeName != name; node = getNextNode(node));
  40.     return node;
  41. }
  42.  
  43. function getChildNodeValue(node, name)
  44. {
  45.     for (node = getChildNode(node); node && node.nodeName != name; node = getNextNode(node));
  46.     return node ? getNodeValue(node) : null;
  47. }
  48.  
  49. function getNodeByAttribute(node, name, attrname, attrvalue)
  50. {
  51.     for (; node; node = getNextNode(node)) {
  52.         if  (node.nodeName == name && node.getAttribute(attrname) == attrvalue)     return node;
  53.     }
  54.     return null;
  55. }
  56.  
  57. function addAttribute(doc, node, attrname, attrvalue)
  58. {
  59.     var attr = doc.createAttribute(attrname);
  60.     attr.value= attrvalue;
  61.     node.setAttributeNode(attr);
  62.     return attr;
  63. }
  64.  
  65. function addElementNode(doc, node, name)
  66. {
  67.     var elementNode = doc.createElement(name);
  68.     node.appendChild(elementNode);
  69.     return     elementNode;
  70. }
  71.  
  72. function addTextNode(doc, node, text)
  73. {
  74.     var textNode = doc.createTextNode(text);
  75.     node.appendChild(textNode);
  76.     return     textNode;
  77. }
  78.  
  79. function removeFirstChild(node)
  80. {
  81.     var c = getChildNode(node);
  82.     return c?node.removeChild(c):null;
  83. }
  84.  
  85. function removeLastChild(node)
  86. {
  87.     var c = getLastChildNode(node);
  88.     return c?node.removeChild(c):null;
  89. }
  90.  
  91. function removeChildren(node)
  92. {
  93.     var c = getChildNode(node);
  94.     while(c) {
  95.         var n=getNextNode(c);
  96.         node.removeChild(c);
  97.         c=n;
  98.     }
  99. }
  100.