zipdrive: getElementsByTagNameNS für den Internet Explorer

Beitrag lesen

Also ich hab mich mal bemüht die Methode getElementsByTagNameNS() für den IE umzusetzten, bzw auch für andere Browser, die die Methode nicht kennen.

  
if (!thisDocument.getElementsByTagNameNS) {  
 thisDocument.getElementsByTagNameNS = function(namespaceURI,name) {  
  var getPrefix = function(selectedNode,namespace) {  
   var foundPrefix = null;  
   var i = 0;  
   var childs = selectedNode.childNodes;  
   do {  
    if (childs[i].nodeType == 1) {  
     var nodeAttributes = childs[i].attributes;  
     if (nodeAttributes.length > 0) {  
      for (var j = 0; j < nodeAttributes.length; j++) {  
       if (nodeAttributes.item(j).nodeName == new RegExp("^xmlns[:a-z]*","g").exec(nodeAttributes.item(j).nodeName)) {  
        if (nodeAttributes.item(j).nodeValue == namespace) {  
         foundPrefix = new RegExp("^.*:([a-z]+)","g").exec(nodeAttributes.item(j).nodeName).$1;  
         break;  
        }  
       }  
      }  
     }  
     if (foundPrefix != null) { break; }  
      if (childs[i].childNodes && childs[i].childNodes.length > 0) {  
       foundPrefix = getPrefix(childs[i],namespace);  
       if (foundPrefix != null) { break; }  
      }  
     i++;  
    }  
   } while(childs[i] != undefined);  
   return foundPrefix;  
  };  
  var prefix = getPrefix(thisDocument.documentElement,namespaceURI);  
  return prefix != null ? this.getElementsByTagName(prefix + ":" + name) : prefix;  
 };  
}  

Leider hab ich noch keine Idee, wie ich die Methode allen Nodes zur Verfügung stellen kann.

Helft mir bitte!