nils2: (DOM/AJAX/PROTOTYPE) Alle Zeilen einer Tabelle entfernen

Beitrag lesen

Hallo,

Probier mal, die ganze Tabelle per Javascript zu erstellen. Könnte sein, das es Probleme gibt, weil ein table-tag ohne tr's und td's übrigbleibt. Könnte auch an prototype liegen. Vielleicht mal ohne das $() testen. Hier eine Funktion, die ich für sowas immer verwende und darunter die Tabelle.

  
  
// Zuerst die Definition von DOM  
if ( typeof(org) == "undefined" ) org = {};  
if ( typeof(org.fw) == "undefined" ) org.fw = {};  
if ( typeof(org.fw.util) == "undefined" ) org.fw.util = {};  
  
/*  
@author nils lindemann <nilsAtfreieweltDotorg>  
@param no  
@returns object myDOM  
@example var dom = org.fw.util.DOM();  
*/  
org.fw.util.DOM = function()  
{  
  
     var r, i, t; // r = returnValue, i = counter, t = temp Variable  
     var self = this;  
     return {  
  
          /*  
          @param String elementName  
                 Array attributes ([string attributeName, string attributeValue]*) optional  
                 Object childNode optional  
          @returns Object DOMNode  
          @example myNode = dom.elem("div", ["class", "myClass"], dom.elem("p", null, "Hallo Welt!"));  
          */  
          elem : function() {  
               r     = document.createElement(arguments[0] ? arguments[0] : "div");  
               if (arguments[1] && (arguments[1] != null)) {  
                    for(i = 0; i < arguments[1].length; i += 2) {  
                         //t setzen  
                         t = document.createAttribute(arguments[1][i]);  
                         t.nodeValue = arguments[1][i+1];  
                         r.setAttributeNode(t);  
                    }  
               }  
               if (arguments[2] && (arguments[2] != null)) {  
                    for (var i = 2; i < arguments.length; i++){  
                         // t setzen  
                         if (typeof(arguments[i]) == "string")  
                              t = document.createTextNode(arguments[i]);  
                         else  
                              t = arguments[i];  
                         r.appendChild(t);  
                    }  
               }  
               return r;  
          },  
  
          /*  
          @param [object DOMNode]*  
          @returns object DOMDocumentFragment  
          @example myFragment = dom.frag(dom.elem(), dom.elem("p", null, "Hallo Welt!"), dom.elem());  
          */  
          frag : function() {  
               r = document.createDocumentFragment();  
               if (arguments.length > 0) {  
                    for(i = 0; i < arguments.length; i++) {  
                         r.appendChild( typeof(arguments[i]) == "string" ? document.createTextNode(arguments[i]) : arguments[i]);  
                    }  
               }  
               return r;  
          },  
  
          get : function() {  
               r = document.getElementsByTagName(arguments[0]);  
               return r[0];  
          },  
  
          text : function() {  
               r = document.createTextNode(arguments[0]);  
               return r;  
          }  
     };  
};  
  
// DOM Objekt erzeugen  
dom = org.fw.util.DOM();  
  
// Jetzt deine Tabelle  
$('parentElementOfSearchResultsTable').appendChild(  
     dom.elem(  
          "table", ["class", "dynamische-tabelle"], dom.elem(  
               "tr", null, dom.frag(  
                    dom.elem("td", null, item['date']),  
                    dom.elem("td", null, item['title']),  
                    dom.elem("td", null, item['company']),  
                    dom.elem("td", null, item['cities'])  
               )  
          )  
     )  
);  

Gruß, Nils

--
Es gibt keine Lösung, weil es kein Problem gibt. (Duchamp)