Path: csiph.com!usenet.pasdenom.info!weretis.net!feeder1.news.weretis.net!news.solani.org!.POSTED!not-for-mail From: Thomas 'PointedEars' Lahn Newsgroups: comp.lang.javascript Subject: Re: Question about appendChild using series of divs Date: Thu, 05 Feb 2015 19:21:20 +0100 Organization: PointedEars Software (PES) Lines: 100 Message-ID: <1660995.P2mppIif9Y@PointedEars.de> References: <20656658.1E4ZlvUoOU@PointedEars.de> Reply-To: Thomas 'PointedEars' Lahn Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8Bit X-Trace: solani.org 1423160525 1832 eJwFwYEBwDAEBMCVKN5nHBr2HyF3YVD86Qh4bGweGw+hKmVEvgLF0O19lZWSCuwwq3n9jD36GhBC (5 Feb 2015 18:22:05 GMT) X-Complaints-To: abuse@news.solani.org NNTP-Posting-Date: Thu, 5 Feb 2015 18:22:05 +0000 (UTC) User-Agent: KNode/4.14.2 X-User-ID: eJwVyMkRwDAIBLCazJrFlMPZfwmZ6CkFD8sulVdX1wcHQkq2yGFCzF9UqfuGIFjPrGGGf1dfa2IixWYQ7R87UxWi Cancel-Lock: sha1:VioOBQG1p/ky3L1HC78YO2CEZ90= X-NNTP-Posting-Host: eJwFwQkBwCAMA0BL/RKGHEhX/xK4Q9KpVQQLg9HfHd+WzkqzPVVqS4XRVe4IXaAoHt0B8AAkwhEd Xref: csiph.com comp.lang.javascript:26806 Gordon wrote: ^^^^^^ Again, this is Usenet; please use your full (real) name. > Thomas 'PointedEars' Lahn : >> Gordon wrote: >> > […] In all five cases I use appendChild to attach the div >> > to the 'H' div. The divs then display in the same order. >> > (I would think they would display in reverse order, >> >> Unfounded. >> >> > since they are being successively appended to 'H', not >> > to the last appended, but they don't.) >> >> “Append” means “to insert at the end” (cf. “prepend”). > > It depends on what 'append' means in this particular > context. Yes. But I think “to append a *child* (node)” is without ambiguity. > If we consider H as a node in a graph > ...-H-... and appending A to H results in ...-H-A-..., > one might think subsequently appending B to H might > be expected to result in ...-H-B-A-..., B being placed > directly after H. But obviously other interpretations > are possible. (Here I am conflating assumptions > about the way the append takes place and the way > the result is subsequently displayed.) You need to consider this not as a linear graph, but a document *tree* of nodes: H :-- A :-- B :-- C '-- D Hence append*Child*. >> > While the page is up, if the user clicks on a link within >> > one of the five divs, say 'C', another set of divs is similarly >> > created, let us say 'c1', 'c2', 'c3', .... These I append >> > to div 'C'. I want them to appear below 'C' and before 'D', >> > but instead they display below 'E'. >> >> You must have appended them to 'H' instead. > > So you seem to agree with my assumption above, that > the layout procedure reads the tree such that if I have appended > c1 to C, then I ought to observe the divs in the > order H, A, B, C, c1, c2, ..., cn, D, .... No, if properly done, the elements are *nested* thus: H :-- A :-- B :-- C : :-- c1 : :-- c2 : :-- ... : '-- cn '-- D But apparently you did: H :-- A :-- B :-- C :-- D :-- c1 :-- c2 :-- ... '-- cn That is, if the order is not as you expected, either you appended the elements to the wrong parent node, or a stylesheet (which can change the positioning of elements in the viewport regardless of source code/node order) interferes. > (For space > reasons the content of the divs will appear vertically, > and inserted material should push the material after it > in the tree downward. Hopefully.) > > Historically, the makers of browsers and script > interpreters do not seem to have felt any obligation > to do things in any particular way, […] You are mistaken. Ex falso quodlibet. -- PointedEars FAQ: | SVN: Twitter: @PointedEars2 | ES Matrix: Please do not cc me. / Bitte keine Kopien per E-Mail.