You shouldn't need to use the .each
$('td [EMAIL PROTECTED]@type=text]').after('stuff') will append to all elements that match the selector, no need to go into a loop with each. Dan Eastwell wrote: > > > Hi, > > I'm doing an order form for a bookstore. The order form has over 500 > items in it, so jquery runs slowly. > > There is no way I can change the number of items, it's a given and a > piece of business 'logic'. > > The jquery I have comprises four simple functions to add > increment/decrement buttons to the order form to increase quantities, > and a jquery addClass call to add pajama/zebra stripes to the table. > There are two quantity fields (again for business reasons), so that's > over a 1000 items. > > http://test2.danieleastwell.co.uk/test2/master_order_test.html > > The problem is it causes a 'script hanging' error IE7 on, I'm > guessing, slower machines (not mine), and takes ~10secs in Firefox2 > (with firebug/validation tools) to load. > > Is there any way I can optimize this to load any more quickly, or do I > need to give up on scripting to add the items and their functionality? > > Many thanks, > > Dan. > > $(document).ready(function() { > > addPlusMinus("td [EMAIL PROTECTED]@type=text]"); > addPlusMinus("td [EMAIL PROTECTED]@type=text]"); > increment("#order_form img.increment"); > decrement("#order_form img.decrement"); > $("table.summarytable tr:even").addClass("odd"); > > }); > > function addPlusMinus(input_text){ > $(input_text).each( function(){ > $(this).after(" images/buttons/button_minus.gif > images/buttons/button_plus.gif "); > }); > } > > function increment(image_button) { > $(image_button).bind("click", function() { > qty_field = $(this).parent("td").find("[EMAIL PROTECTED]"); > var numValue = $(qty_field).val(); > numValue++; > $(qty_field).val(numValue); > }); > } > function decrement(image_button) { > $(image_button).bind("click", function() { > qty_field = $(this).parent("td").find("[EMAIL PROTECTED]"); > var numValue = $(qty_field).val(); > if (numValue > 0 ) { > numValue--; > } > $(qty_field).val(numValue); > }); > } > > > > > > -- > Daniel Eastwell > > Portfolio and articles: > http://www.thoughtballoon.co.uk > > Blog: > http://www.thoughtballoon.co.uk/blog > > -- View this message in context: http://www.nabble.com/Iterating-over-1000-items---optimizing-jquery-tf4306183s15494.html#a12258350 Sent from the JQuery mailing list archive at Nabble.com.