This course dives into several advanced topics in jQuery. Learn to leverage jQuery to move beyond simply selecting and manipulating DOM nodes. Some of the many topics covered include: authoring plugins for internal projects and for publication, improving performance of DOM node selection and insertion, customizing jQuery to add more defaults and named constants, using the data method to store and retrieve arbitrary data associated with DOM nodes, manipulating arrays and collections with jQuery's built-in utility methods, and handling events correctly even for dynamically created DOM nodes. This course also includes a comprehensive coverage of deferred objects and promises based on CommonJS. Code examples are given for most of the covered concepts.