A JS gotcha to watch out for You must be careful with the interaction between a script that translates abbreviated HTML (lik .biddingSequence .tabReady) and the script to associates behavior with the translated code. Here is a brief example. Similar to createTabs, I have a createExpander function that takes abbreviated HTML and expands it to include all the classes, etc. required by the code that actually expands and hides the content. Input < div class=expandableElement > abc < div > xyz This is translated into Output < div class='expanderHeader collapsed' > abc < div class='expanderContent collapsed' > xyz Using good modular programming, this function is in the file createExpander.js The behavior of expanders is in the file expander.js $('.expanderHeader').bind('click', function () ...... ); Any page that uses these functions will include them in the head element. Is there any difference when we change the order of loading the two JS files? 1) < script src=createExpander.js > < script src=expander.js > 2) < script src=expander.js > < script src=createExpander.js >