{"id":315,"date":"2014-06-13T17:19:04","date_gmt":"2014-06-13T17:19:04","guid":{"rendered":"https:\/\/solutionstreet.com\/blog\/?p=315"},"modified":"2014-06-13T17:19:04","modified_gmt":"2014-06-13T17:19:04","slug":"jquery-plugins","status":"publish","type":"post","link":"https:\/\/www.solutionstreet.com\/blog\/2014\/06\/13\/jquery-plugins\/","title":{"rendered":"jQuery Plugins"},"content":{"rendered":"<p>They say the best programmer is the lazy programmer, so it\u2019s only natural that so many of us subscribe to the DRY principle of software development. DRY is an acronym for &#8220;Don\u2019t Repeat Yourself\u201d which states &#8220;Every piece of knowledge must have a single, unambiguous, authoritative representation within a system\u201d.\u00a0Software developers generally apply the DRY principle when working on backends, but for some reason a lot of us tend to abandon all good software engineering principles when it comes to working on the front-end, although this trend is gradually changing with the growing popularity of front-end heavy JavaScript frameworks like Backbone.js, Ember.js and AnglularJS and CSS preprocessors like LESS and SASS.<\/p>\n<p>\u201cjQuery is a fast, small, and feature-rich JavaScript library. It makes things like HTML document traversal and manipulation, event handling, animation, and Ajax much simpler with an easy-to-use API that works across a multitude of browsers. With a combination of versatility and extensibility, jQuery has changed the way that millions of people write JavaScript\u201d &#8211; jquery.com<\/p>\n<div><\/div>\n<p>jQuery is currently the de-facto JavaScript library of choice on most projects so knowing how to build jQuery plugins to encapsulate and distribute oft-repeated functionality is a good skill for a developer to have. I recently gave a short presentation at Solution Street about building jQuery plugins.Check out the video on YouTube! \u00a0<a title=\"jQuery YouTube \" href=\"https:\/\/www.youtube.com\/watch?v=DFxAuHSYfF0\" target=\"_blank\" rel=\"noopener\">https:\/\/www.youtube.com\/watch?<wbr \/>v=DFxAuHSYfF0<\/a> Here are some useful resources to get you started on creating your own jQuery plugins.<\/p>\n<div><\/div>\n<p>Plugins | jQuery Learning Center &#8211;\u00a0<a href=\"http:\/\/learn.jquery.com\/plugins\/\" target=\"_blank\" rel=\"noopener\">http:\/\/learn.jquery.com\/<wbr \/>plugins\/<\/a><\/p>\n<p>Writing Your Own jQuery Plugins &#8211;\u00a0<a href=\"http:\/\/blog.teamtreehouse.com\/writing-your-own-jquery-plugins\" target=\"_blank\" rel=\"noopener\">http:\/\/blog.teamtreehouse.<wbr \/>com\/writing-your-own-jquery-<wbr \/>plugins<\/a><\/p>\n<p>Essential jQuery Plugin Patterns &#8211;\u00a0<a href=\"http:\/\/www.smashingmagazine.com\/2011\/10\/11\/essential-jquery-plugin-patterns\/\" target=\"_blank\" rel=\"noopener\">http:\/\/www.smashingmagazine.<wbr \/>com\/2011\/10\/11\/essential-<wbr \/>jquery-plugin-patterns\/<\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Enjoy,<\/p>\n<p>&nbsp;<\/p>\n<p>Serign Jobe<\/p>\n<p>&nbsp;<\/p>\n<div><\/div>\n<div><a href=\"https:\/\/solutionstreet.com\/blog\/wp-content\/uploads\/2014\/06\/jQuery.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/solutionstreet.com\/blog\/wp-content\/uploads\/2014\/06\/jQuery.jpg\" alt=\"jQuery\" width=\"225\" height=\"225\" \/><\/a><\/div>\n<div style=\"color: #222222;\"><\/div>\n<div style=\"color: #222222;\"><\/div>\n<div style=\"color: #222222;\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>They say the best programmer is the lazy programmer, so it\u2019s only natural that so many of us subscribe to the DRY principle of software development. DRY is an acronym for &#8220;Don\u2019t Repeat Yourself\u201d which states &#8220;Every piece of knowledge must have a single, unambiguous, authoritative representation within a system\u201d.\u00a0Software developers generally apply the DRY [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-315","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>jQuery Plugins - Solution Street Blog<\/title>\n<meta name=\"description\" content=\"jQuery is currently the de-facto JavaScript library of choice on most projects so knowing how to build jQuery plugins to encapsulate and distribute oft-repeated functionality is a good skill for a developer to have\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.solutionstreet.com\/blog\/2014\/06\/13\/jquery-plugins\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"jQuery Plugins - Solution Street Blog\" \/>\n<meta property=\"og:description\" content=\"jQuery is currently the de-facto JavaScript library of choice on most projects so knowing how to build jQuery plugins to encapsulate and distribute oft-repeated functionality is a good skill for a developer to have\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.solutionstreet.com\/blog\/2014\/06\/13\/jquery-plugins\/\" \/>\n<meta property=\"og:site_name\" content=\"Solution Street Blog\" \/>\n<meta property=\"article:published_time\" content=\"2014-06-13T17:19:04+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/solutionstreet.com\/blog\/wp-content\/uploads\/2014\/06\/jQuery.jpg\" \/>\n<meta name=\"author\" content=\"afrankel\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"afrankel\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2014\\\/06\\\/13\\\/jquery-plugins\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2014\\\/06\\\/13\\\/jquery-plugins\\\/\"},\"author\":{\"name\":\"afrankel\",\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/#\\\/schema\\\/person\\\/4918a8dfd726e6176a3b516b9f1fd00f\"},\"headline\":\"jQuery Plugins\",\"datePublished\":\"2014-06-13T17:19:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2014\\\/06\\\/13\\\/jquery-plugins\\\/\"},\"wordCount\":287,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2014\\\/06\\\/13\\\/jquery-plugins\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/solutionstreet.com\\\/blog\\\/wp-content\\\/uploads\\\/2014\\\/06\\\/jQuery.jpg\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2014\\\/06\\\/13\\\/jquery-plugins\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2014\\\/06\\\/13\\\/jquery-plugins\\\/\",\"url\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2014\\\/06\\\/13\\\/jquery-plugins\\\/\",\"name\":\"jQuery Plugins - Solution Street Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2014\\\/06\\\/13\\\/jquery-plugins\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2014\\\/06\\\/13\\\/jquery-plugins\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/solutionstreet.com\\\/blog\\\/wp-content\\\/uploads\\\/2014\\\/06\\\/jQuery.jpg\",\"datePublished\":\"2014-06-13T17:19:04+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/#\\\/schema\\\/person\\\/4918a8dfd726e6176a3b516b9f1fd00f\"},\"description\":\"jQuery is currently the de-facto JavaScript library of choice on most projects so knowing how to build jQuery plugins to encapsulate and distribute oft-repeated functionality is a good skill for a developer to have\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2014\\\/06\\\/13\\\/jquery-plugins\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2014\\\/06\\\/13\\\/jquery-plugins\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2014\\\/06\\\/13\\\/jquery-plugins\\\/#primaryimage\",\"url\":\"https:\\\/\\\/solutionstreet.com\\\/blog\\\/wp-content\\\/uploads\\\/2014\\\/06\\\/jQuery.jpg\",\"contentUrl\":\"https:\\\/\\\/solutionstreet.com\\\/blog\\\/wp-content\\\/uploads\\\/2014\\\/06\\\/jQuery.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2014\\\/06\\\/13\\\/jquery-plugins\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"jQuery Plugins\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/\",\"name\":\"Solution Street Blog\",\"description\":\"Quality Software Engineering - Technology and Consulting Articles\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/#\\\/schema\\\/person\\\/4918a8dfd726e6176a3b516b9f1fd00f\",\"name\":\"afrankel\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/906488c05ad8322b055f0d85b5cee1f6f966ce8715b51d59df3f0ced8ae01b6b?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/906488c05ad8322b055f0d85b5cee1f6f966ce8715b51d59df3f0ced8ae01b6b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/906488c05ad8322b055f0d85b5cee1f6f966ce8715b51d59df3f0ced8ae01b6b?s=96&d=mm&r=g\",\"caption\":\"afrankel\"},\"url\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/author\\\/afrankel\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"jQuery Plugins - Solution Street Blog","description":"jQuery is currently the de-facto JavaScript library of choice on most projects so knowing how to build jQuery plugins to encapsulate and distribute oft-repeated functionality is a good skill for a developer to have","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.solutionstreet.com\/blog\/2014\/06\/13\/jquery-plugins\/","og_locale":"en_US","og_type":"article","og_title":"jQuery Plugins - Solution Street Blog","og_description":"jQuery is currently the de-facto JavaScript library of choice on most projects so knowing how to build jQuery plugins to encapsulate and distribute oft-repeated functionality is a good skill for a developer to have","og_url":"https:\/\/www.solutionstreet.com\/blog\/2014\/06\/13\/jquery-plugins\/","og_site_name":"Solution Street Blog","article_published_time":"2014-06-13T17:19:04+00:00","og_image":[{"url":"https:\/\/solutionstreet.com\/blog\/wp-content\/uploads\/2014\/06\/jQuery.jpg","type":"","width":"","height":""}],"author":"afrankel","twitter_card":"summary_large_image","twitter_misc":{"Written by":"afrankel","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.solutionstreet.com\/blog\/2014\/06\/13\/jquery-plugins\/#article","isPartOf":{"@id":"https:\/\/www.solutionstreet.com\/blog\/2014\/06\/13\/jquery-plugins\/"},"author":{"name":"afrankel","@id":"https:\/\/www.solutionstreet.com\/blog\/#\/schema\/person\/4918a8dfd726e6176a3b516b9f1fd00f"},"headline":"jQuery Plugins","datePublished":"2014-06-13T17:19:04+00:00","mainEntityOfPage":{"@id":"https:\/\/www.solutionstreet.com\/blog\/2014\/06\/13\/jquery-plugins\/"},"wordCount":287,"commentCount":0,"image":{"@id":"https:\/\/www.solutionstreet.com\/blog\/2014\/06\/13\/jquery-plugins\/#primaryimage"},"thumbnailUrl":"https:\/\/solutionstreet.com\/blog\/wp-content\/uploads\/2014\/06\/jQuery.jpg","inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.solutionstreet.com\/blog\/2014\/06\/13\/jquery-plugins\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.solutionstreet.com\/blog\/2014\/06\/13\/jquery-plugins\/","url":"https:\/\/www.solutionstreet.com\/blog\/2014\/06\/13\/jquery-plugins\/","name":"jQuery Plugins - Solution Street Blog","isPartOf":{"@id":"https:\/\/www.solutionstreet.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.solutionstreet.com\/blog\/2014\/06\/13\/jquery-plugins\/#primaryimage"},"image":{"@id":"https:\/\/www.solutionstreet.com\/blog\/2014\/06\/13\/jquery-plugins\/#primaryimage"},"thumbnailUrl":"https:\/\/solutionstreet.com\/blog\/wp-content\/uploads\/2014\/06\/jQuery.jpg","datePublished":"2014-06-13T17:19:04+00:00","author":{"@id":"https:\/\/www.solutionstreet.com\/blog\/#\/schema\/person\/4918a8dfd726e6176a3b516b9f1fd00f"},"description":"jQuery is currently the de-facto JavaScript library of choice on most projects so knowing how to build jQuery plugins to encapsulate and distribute oft-repeated functionality is a good skill for a developer to have","breadcrumb":{"@id":"https:\/\/www.solutionstreet.com\/blog\/2014\/06\/13\/jquery-plugins\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.solutionstreet.com\/blog\/2014\/06\/13\/jquery-plugins\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.solutionstreet.com\/blog\/2014\/06\/13\/jquery-plugins\/#primaryimage","url":"https:\/\/solutionstreet.com\/blog\/wp-content\/uploads\/2014\/06\/jQuery.jpg","contentUrl":"https:\/\/solutionstreet.com\/blog\/wp-content\/uploads\/2014\/06\/jQuery.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/www.solutionstreet.com\/blog\/2014\/06\/13\/jquery-plugins\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.solutionstreet.com\/blog\/"},{"@type":"ListItem","position":2,"name":"jQuery Plugins"}]},{"@type":"WebSite","@id":"https:\/\/www.solutionstreet.com\/blog\/#website","url":"https:\/\/www.solutionstreet.com\/blog\/","name":"Solution Street Blog","description":"Quality Software Engineering - Technology and Consulting Articles","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.solutionstreet.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.solutionstreet.com\/blog\/#\/schema\/person\/4918a8dfd726e6176a3b516b9f1fd00f","name":"afrankel","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/906488c05ad8322b055f0d85b5cee1f6f966ce8715b51d59df3f0ced8ae01b6b?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/906488c05ad8322b055f0d85b5cee1f6f966ce8715b51d59df3f0ced8ae01b6b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/906488c05ad8322b055f0d85b5cee1f6f966ce8715b51d59df3f0ced8ae01b6b?s=96&d=mm&r=g","caption":"afrankel"},"url":"https:\/\/www.solutionstreet.com\/blog\/author\/afrankel\/"}]}},"_links":{"self":[{"href":"https:\/\/www.solutionstreet.com\/blog\/wp-json\/wp\/v2\/posts\/315","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.solutionstreet.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.solutionstreet.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.solutionstreet.com\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.solutionstreet.com\/blog\/wp-json\/wp\/v2\/comments?post=315"}],"version-history":[{"count":0,"href":"https:\/\/www.solutionstreet.com\/blog\/wp-json\/wp\/v2\/posts\/315\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.solutionstreet.com\/blog\/wp-json\/wp\/v2\/media?parent=315"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.solutionstreet.com\/blog\/wp-json\/wp\/v2\/categories?post=315"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.solutionstreet.com\/blog\/wp-json\/wp\/v2\/tags?post=315"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}