Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.javascript > #7889
| Message-ID | <1784154.EMZun36R47@PointedEars.de> (permalink) |
|---|---|
| From | Thomas 'PointedEars' Lahn <PointedEars@web.de> |
| Organization | PointedEars Software (PES) |
| Date | 2011-10-31 02:19 +0100 |
| Subject | Re: Changing letters in boxes |
| Newsgroups | comp.lang.javascript |
| References | <1cb16076-87c8-4bc6-8007-1efddfb7530b@s10g2000yqa.googlegroups.com> <j8ji7m$fj8$1@dont-email.me> <3024323.SPkdTlGXAF@PointedEars.de> <j8kne2$1e3$1@dont-email.me> |
| Followup-To | comp.lang.javascript |
Followups directed to: comp.lang.javascript
Matt McDonald wrote:
> Thomas 'PointedEars' Lahn wrote:
>> Unreliable. Especially MSHTML (the layout engine that Internet Explorer
>> uses) is prone to errors with `innerHTML' accesses in table structures.
>>
>> A safer approach is to remove all cells of the row except one, then
>> replace the content of the first cell and add more cells...
>
> Agreed. Given the Table API that the DOM provides, usage of innerHTML
> here is erroneous, especially in IE. There's also, of course,
> createElement + appendChild if desired.
>
> I wrote an article earlier today on this topic, except utilizing the DOM
> Table API (insertCell + deleteCell):
>
> http://www.fortybelow.ca/hosted/comp-lang-javascript/table-cell-
replacement/
>
> Comments are welcome.
One problem which what you dubbed "DOM Table Cell API" (there really is no
official name for that part of the W3C DOM Level 2 HTML Specification) is
that the W3C DOM API Specification and the MSHTML DOM API definition
disagree (again, cf. HTMLSelectElement::add() [1]) with regard to the
meaning of the method's arguments and its return value:
Both support the value -1 to append a new cell; but while the standards-
compliant implementation requires the number of existing cells to be passed
for an alternative of that (tr.cells.length), MSHTML is at least documented
to require tr.cells.length - 1. Also, while the standards-compliant
implementation is supposed to throw DOMException INDEX_SIZE_ERR on error,
MSHTML is at least documented to throw no exception at all then, but to
return "null" instead (which, for the ECMAScript binding, is the `null'
value of the JScript implementation of the Null type). [2]
The same problem exists with
HTMLTableElement/HTMLTableSectionElement::insertRow(). [3]
Those differences suggest the possibility of other differences between
standards-compliant and other implementations than the MSHTML DOM in this
area. Therefore, I have intentionally used DOM Level 2+ Core methods in my
example – for which I am not aware of such quirks – and made no mention of
that "DOM Table Cell API".
PointedEars
___________
[1] <http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-14493106>
<http://msdn.microsoft.com/en-us/library/ms535921(VS.85).aspx>
[2] <http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-68927016>
<http://msdn.microsoft.com/en-us/library/ms536455(VS.85).aspx>
[3] <http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-93995626>
<http://msdn.microsoft.com/en-us/library/ms536457(VS.85).aspx>
--
var bugRiddenCrashPronePieceOfJunk = (
navigator.userAgent.indexOf('MSIE 5') != -1
&& navigator.userAgent.indexOf('Mac') != -1
) // Plone, register_function.js:16
Back to comp.lang.javascript | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Changing letters in boxes fulio pen <fuliopen@yahoo.com> - 2011-10-30 05:26 -0700
Re: Changing letters in boxes "Jukka K. Korpela" <jkorpela@cs.tut.fi> - 2011-10-30 15:08 +0200
Re: Changing letters in boxes fulio pen <fuliopen@yahoo.com> - 2011-10-30 07:14 -0700
Re: Changing letters in boxes fulio pen <fuliopen@yahoo.com> - 2011-10-30 10:22 -0700
Re: Changing letters in boxes "Jukka K. Korpela" <jkorpela@cs.tut.fi> - 2011-10-30 20:14 +0200
Re: Changing letters in boxes fulio pen <fuliopen@yahoo.com> - 2011-10-30 12:27 -0700
Re: Changing letters in boxes Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2011-10-30 18:58 +0100
Re: Changing letters in boxes Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2011-10-30 19:07 +0100
Re: Changing letters in boxes Andrew Poulos <ap_prog@hotmail.com> - 2011-10-31 06:15 +1100
Re: Changing letters in boxes Lasse Reichstein Nielsen <lrn.unread@gmail.com> - 2011-11-01 17:17 +0100
Re: Changing letters in boxes Andrew Poulos <ap_prog@hotmail.com> - 2011-11-02 07:10 +1100
Re: Changing letters in boxes Andreas Bergmaier <andber93@web.de> - 2011-11-01 23:37 +0100
Re: Changing letters in boxes Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2011-11-02 00:20 +0100
Re: Changing letters in boxes Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2011-11-01 18:01 +0100
Re: Changing letters in boxes Matt McDonald <matt@fortybelow.ca> - 2011-10-30 17:42 -0600
Re: Changing letters in boxes Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2011-10-31 02:19 +0100
Re: Changing letters in boxes Matt McDonald <matt@fortybelow.ca> - 2011-10-31 21:29 -0600
Re: Changing letters in boxes Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2011-11-01 11:52 +0100
Re: Changing letters in boxes RobG <rgqld@iinet.net.au> - 2011-10-30 19:33 -0700
Re: Changing letters in boxes "Jukka K. Korpela" <jkorpela@cs.tut.fi> - 2011-10-31 08:37 +0200
Re: Changing letters in boxes Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2011-10-31 11:50 +0100
Re: Changing letters in boxes faqir <faqir@faqir.com> - 2011-11-03 23:20 +0200
csiph-web