jQuery.noConflict() ----- jQuery is included in WordPress in [noConflict mode][1], so as to work with other javascript extensions that also use `$` as an alias. Hence your above Version II will not work with the WP native jQuery loading. What is jQuery? ----- jQuery is *not* a language. It is nothing but a (massive) javascript object. That object's name is `jQuery`. When `.noConflict()` is not applied, `$` is an alias for the `jQuery` object. Best practice for external files ---- Wrap the entire js in a [closure][2], pass it the `jQuery` object and `$` as an argument. Inside you can write your script the way you're used to: (function($){ $(document).ready(function() { $("#radio").buttonset(); } })(jQuery); [1]: http://api.jquery.com/jQuery.noConflict/ [2]: https://stackoverflow.com/questions/111102/how-do-javascript-closures-work