[Javascript] table collapse bug in IE6?

Håkan Magnusson hakan at backbase.com
Sun Mar 28 09:54:07 CST 2004


Note that the style border-spacing ("cellspacing" if defined in the 
markup of the table) is not supported by any IE version, so in order to 
create a table through the DOM without cellspacing in IE is to

document.createElement('table cellspacing="0"');

This actually works, while it IS ugly. :)

Regards,
H

David Lovering wrote:

> Dear Paul:
> 
> You're welcome.  Also, I apologize for not mentioning the "border-collapse:
> collapse" attribute fix -- the original code I wrote was intended for a
> browser which was a near-IE lookalike, but that had some missing CSS
> support, including the "border-collapse" thingy.  My newest code does in
> fact use the border-collapse option, but I'd forgotten that I'd amended it
> when the other browser project tanked.
> 
> On the timing issue -- I think it depends to some extent on where the data
> for the rows is coming from.  If it is from a slow database (like DB2,
> Access, MSSQL), or if it done with a slow pointer/row SQL call, you're
> absolutely right -- hiding may be the best way of dealing with this issue.
> On the other hand, if you're working with a speed-optimized database, such
> as MySQL, Postgres/SQL, etc., or you want only up-to-the-second real-time
> data mapping to your screen, then the delete and rebuild row method may work
> better for you.  Also, if you're using ASP or .NET stuff inline as part of
> your window build, prepare yourself for a HUGE slowdown, which only gets
> worse as your server(s) get loaded.  Anything that requires a computational
> rebuild of thousands of cells will amplify the inherent slownesses (is that
> a word?) of whatever system you pick.
> 
> -- Dave Lovering
> 
> 
> ----- Original Message ----- 
> From: "Paul Novitski" <paul at dandemutande.org>
> To: "[JavaScript List]" <javascript at LaTech.edu>
> Sent: Saturday, March 27, 2004 11:05 PM
> Subject: Re: [Javascript] table collapse bug in IE6?
> 
> 
> 
>>Dave,
>>
>>At 12:44 PM 3/27/2004, you wrote:
>>...
>>
>>>If you REALLY want to hide the cells, and not merely nuke/rebuild the
> 
> rows,
> 
>>>I'd suggest building into your routine a number of CSS attribute calls
> 
> which
> 
>>>set the border width to 0 on each of the affected cells/rows,
>>
>>*Blush!*  That works perfectly; I must be overworked & sleep-deprived not
>>to have seen something so obvious.  Thanks!  You win the kewpie doll.
>>
>>
>>
>>>making sure
>>>that you still preserve one top/bottom border to "join" the rows which
>>>remain undeleted above and below the one you're taking out.
>>
>>I've given the table the CSS style "border-collapse: collapse" so I don't
>>have to worry about doubled border thicknesses between adjacent cells.
>>
>>
>>>Personally, nuking the rows makes sense in another way as well -- every
>>>screen refresh still exercises the "hidden" objects, taking longer than
>>>necessary to paint the window.  I've seen an appreciable speed up when I
>>>trash the unwanted rows, rebuilding them only when necessary.
>>
>>In this case, it feels like 6:half-dozen.  It appears to take slightly
>>longer to rebuild the display table with selected rows from the hidden
>>table than it does to hide & unhide selected rows, which makes sense
>>(changing visibility being faster than adding branches to the DOM tree).
>>
>>Thanks,
>>Paul
>>
>>
>>_______________________________________________
>>Javascript mailing list
>>Javascript at LaTech.edu
>>https://lists.LaTech.edu/mailman/listinfo/javascript
>>
>>
> 
> 
> 
> _______________________________________________
> Javascript mailing list
> Javascript at LaTech.edu
> https://lists.LaTech.edu/mailman/listinfo/javascript
> 
> 



More information about the Javascript mailing list