If I came across as being rude it wasn't intended, apologies. I felt I was clear on what the problem was and even provided my current solution. The first answer I received seemed to ignore this and provide a solution that was exactly the opposite of what I had asked, hence I asked Fabio to read the problem again (and used the word "Please").
In the simple scenario of wrapping an element's html, are there any performance gains using adopt over get/set html? Cheers On Aug 27, 9:33 pm, nwhite <[email protected]> wrote: > > One would ask the question "Why don’t you just output the wrapper div in > > your html?" > > Sometimes you don't have full control over the html generation. > > @atwork8 I thought your tone was a bit rude especially when your asking for > help. A bit of diplomacy will get you farther. > > I would use adopt since it will take multiple elements. > > new Element('div',{'id : > 'wrapper'}).adopt($(document.body).getChildren()).inject(document.body); > > > -----Original Message----- > > From: ksamdev [mailto:[email protected]] > > Sent: Friday, 28 August 2009 1:00 AM > > To: MooTools Users > > Subject: [Moo] Re: wrap element's html > > > @atwork8 > > > No benefits. The result would be the same except that work is done > > with DOM objects directly if you do things the way I proposed which I > > find very clear and always tend to work with. It is simply conceptual > > difference. Anyway, I guess at the end browser will rearrange DOM tree > > and do the job in background putting all children into new DIV. > > Besides, I guess, it will have to parse new HTML of document.body that > > would take some time. Thus, presumably, It is faster to work with DOM > > Tree. > > > On Aug 27, 7:36 am, atwork8 <[email protected]> wrote: > > > @ksamdev - what are the benefits of doing it that way over what I had > > > originally posted? > > > > var elBody = $(document.body); > > > elBody.set('html', '<div id="wrapper">' + elBody.get('html') + '</ > > > div>'); > > > > On Aug 27, 1:27 pm, ksamdev <[email protected]> wrote: > > > > > ok. I see your point. Then do something like: > > > > > var _div = new Element( 'div'); > > > > var _body = $( document.body); > > > > _body.getChildren().each( function( _item) { _div.grab( _item); }); > > > > _body.adopt( _div); > > > > > On Aug 27, 7:22 am, atwork8 <[email protected]> wrote: > > > > > > @ksamdev - Could you please read the problem. The results are > > > > > completely different. The solution I've provided generates this: > > > > > > <body><div id="wrapper">body's html</div></body> > > > > > > Fabio's generates: > > > > > > <div id="wrapper"><body>body's html</body></div> > >
