Какую выгоду вы получаете от использования jquery?Совершенно нормально использовать прямой JS с jQuery.document.getElementById('plugin').updateDisplay('blah', 'bleh')
.Но если вы действительно хотите, вы можете создать плагин.
jquery.fn.updateDisplay = function(a, b) {
this.each(function(index, el){
el.updateDisplay(a, b);
});
return this;
}
//... and so on
Вот общий способ сделать это:
function convertMethodsTojQuery(/* methodName1, methodName2, ...*/) {
// In some browsers (*cough* IE *cough*), the methods of DOM
// objects are not real JavaScript Functions and don't
// support the apply method. Borrow Function's apply.
var apply = Function.prototype.apply;
for (var i=0; i < arguments.length; i++) {
var methodName = arguments[i];
jQuery.fn[methodName] = (function(name) {
return function() {
// Save arguments so it's available in the inner looping closure
var args = arguments;
this.each(function(index, el){
apply.call(el[name], el, args);
});
}
})(name);
}
}
// Call it like
convertMethodsTojQuery("updateDisplay", "printReceipt", "openDrawer")
Общий метод довольно сложен (заимствование Function.prototypeи самостоятельно вызывающие функции для изоляции циклической переменной), так что это будет нелегко понять, если у вас нет хорошего понимания JavaScript