JSFiddle - React, Tailwind, and code Playground
HTML
<div id="foo">asd</div>
JavaScript
;(function ( $, window, document, undefined ) {
var pluginName = 'test';
var defaults;
function Plugin(element, options) {
this.element = element;
this.options = $.extend( {}, defaults, options) ;
this._name = pluginName;
this.init();
}
Plugin.prototype = {
init: function() {
this.hello();
},
hello : function() {
document.write('hello');
},
goodbye : function() {
document.write('goodbye');
}
}
$.fn[pluginName] = function ( options ) {
return this.each(function () {
if (!$.data(this, 'plugin_' + pluginName)) {
$.data(this, 'plugin_' + pluginName,
new Plugin( this, options ));
}
});
}
})( jQuery, window, document );
$(document).ready(function() {
var test = $("#foo").test().data("plugin_test");
test.goodbye();
});