dang. accidentally pressed "send" while writing, please ignore my last message.
No idea about the performance drop, but you can improve your main function. $(this)[0] is unnecessary, you're creating a new jQuery object and throwing it away. // MAIN function getMenuItems(menu) { var menuItems = []; $(menu).find('.MenuItem').each(function(){ var t = $(this), item = false; if (t.hasClass('processMenuItem')) item = getProcessMenuItem(this); else if (t.hasClass('softwareMenuItem')) item = getSoftwareMenuItem(this); else if (t.hasClass('listMenuItem')) item = getListMenuItem(this); else if (t.hasClass('aboutMenuItem')) item = getAboutMenuItem(this); menuItems.push(item); }); return menuItems; }; - ricardo On Feb 19, 4:18 pm, Sjoland <jo...@sjoland.com> wrote: > Hi!, > > When switching between 1.3.1 and 1.2.6 i get a serious drop in speed > when collection a JSON object from static HTML content. > > 1.2.6 > FF: 325ms > Safari: 75ms > IE7: 450ms > > 1.3.1 > FF: 1205ms > Safari: 415ms > IE7: 1550 ms > > The javascript collects data into a JSON object with a few methods > like this: > > // MAIN > function getMenuItems(menu) { > var menuItems = []; > $(menu).find('.MenuItem').each(function(){ > var item = false; > if ($(this).hasClass('processMenuItem')) item = > getProcessMenuItem($ > (this)[0]); > if ($(this).hasClass('softwareMenuItem')) item = > getSoftwareMenuItem > ($(this)[0]); > if ($(this).hasClass('listMenuItem')) item = > getListMenuItem($(this) > [0]); > if ($(this).hasClass('aboutMenuItem')) item = > getAboutMenuItem($ > (this)[0]); > menuItems.push(item); > }); > return menuItems; > > }; > > // COLLECTOR > function getProcessMenuItem(li) { > var type = "processMenuItem"; > var item = { > "id" : $(li).attr('id'), > "type" : type, > "title" : $(li).find('a:first').text(), > "URI": $(li).find('a:first').attr('href'), > "preamble" : $(li).find('li.Intro h4').text(), > "body" : $(li).find('li.Intro p').text(), > "news" : { > "title" : $(li).find('li.News a').text(), > "URI" : $(li).find('li.News a').attr('href'), > "summary" : $(li).find('li.News a').attr('title') > }, > "splash" : { > "title" : $(li).find('li.Splash a').text(), > "URI" : $(li).find('li.Splash a').attr('href'), > "summary" : $(li).find('li.Splash a').attr('title'), > "media" : $(li).find('li.Splash img').attr('src') > }, > "links" : getAnchorLinks(li) > }; > return item; > > }; > > Anyone else experiencing drops in speed with 1.3.1 doing simple stuff > like this? > Sure, I was not expecting any major speed increase since the code is > not optimized yet, but an 80% drop is just crazy... > > Please advice, > /Johan