jQuery Best Practice

by Ivan Gerasimenko

JavaScript

//===========================================================
    // Check whether element exists
$.fn.exists = function () {
    return $(this).length > 0;
};

//===========================================================
    // fired every time an ajax call is complete
    // (fixes problem of new plugins initialization for example)
$(document).ajaxComplete(function() {
    // code here
});

//===========================================================
    // How to use SELECTORS fast!!! 
//http://www.sitepoint.com/efficient-jquery-selectors/
// 1. by id
$("#idName")
// 2. if by class, better to use tag name also
$("div.className") // not $(".className")
// 3. simplify selectors, still unique but as short as possible
// 4. increase specificity from Left to Right
$("div#idName").find("a") // faster than $("div#idName a")
// 5. avoid selector repetition. навешивать все действия с элементом на один селектор

//===========================================================
    // To bind only one event
$("#someElement").off("click").on("click", function() { ... });

//===========================================================
    //