warum der Mischmasch aus innerHTML und createElement?
Erscheint mir unlogisch, die tr per createElement zu erzeugen, die td-Elemente aber per innerHTML.ich sprach davon, dass ich ein template parsen will. wie komplex soll eine funktion denn werden, die aus einem übergebenen werte-array anhand der werte erkennen soll, wieviele tabellenzellen zu erzeugen sind, welche daten evtl. gemeinsam in einer zelle stehen sollen, und welche daten als parameter für ein bild oder einen link dienen sollen?
also ich finde deine Funktion nicht mitminder komplex, das was du da beschreibst, liesse sich z.b. so lösen (ungetestet):
window.onload = function()
{
var t = document.getElementById('table');
var r1 = NEW_ROW(t,
[
'nick 1',
'level 1',
'user id 1',
{tag: 'img', src: 'an_aus.gif', alt: '...'}
]
);
}
function NEW_ROW(table, recordset)
{
var row = document.createElement("tr");
for(var i = 0; i < recordset.length; i++) row.appendChild( createTD( recordset[i] )) ;
table.appendChild(row);
}
function createTD( element )
{
var o = document.createElement('td');
var content;
if(element.tag)
{
// Ein HTML Element
content = document.createElement(element.tag);
for(var a in element)
if(a != 'tag') content[a] = element[a];
}
else
{
// Ein Textknoten
content = document.createTextNode(element);
}
o.appendChild( content );
return o;
}
Damit liessen sich x-beliebige HTML Elemente erzeugen.
Struppi.
--
Javascript ist toll (Perl auch!)
Javascript ist toll (Perl auch!)