> From: Aloyzas Rimeika
>
> ...But I recommend use $.dom plugin only in XHTML pages with
> MIME type application/xhtml+xml
> http://www.quirksmode.org/bugreports/archives/2004/11/innerhtml_in_xh.html
>
> Easier and faster solution is innerHTML
> http://www.quirksmode.org/dom/innerhtml.html
>
> For example:
> var json = [
> {'name' : "John", 'surname' : "Smith"},
> {'name' : "Sarra", 'surname' : "Smith"} ];
>
> var table = $('#fill-table > tbody');
> $.each(json, function(){
> table.append('<tr class="MyTableRow">'
> +'<td class="MyTableCol1">'+ this.name
> +'<td class="MyTableCol2">'+ this.surname
> +'</tr>');
> });
I'm with you there. I have switched most of my code from DOM creation to
innerHTML.
BTW, you can speed up this kind of code by using Array.join instead of
string concatenation:
var table = $('#fill-table > tbody');
$.each(json, function(){
table.append( [
'<tr class="MyTableRow">',
'<td class="MyTableCol1">', this.name, '</td>',
'<td class="MyTableCol2">', this.surname, '</td>',
'</tr>'
].join('') );
});
It won't make a huge difference in a simple case like this, but if you're
concatenating very many strings, Array.join really speeds things up in most
browsers.
-Mike
_______________________________________________
jQuery mailing list
[email protected]
http://jquery.com/discuss/