> 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/

Reply via email to