On 17/08/06, Michael Geary <[EMAIL PROTECTED]> wrote:
> > 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
>
Doesn't this work:
$('#fill-table > tbody').append(json, [
'<tr class="MyTableRow">',
'<td class="MyTableCol1">', this.name, '</td>',
'<td class="MyTableCol2">', this.surname, '</td>',
'</tr>'
].join('');
);
If not, perhaps it should be added to jQuery?
_______________________________________________
jQuery mailing list
[email protected]
http://jquery.com/discuss/