Quiero agregar un getter y un setter para el objeto $ , similar a la función val() para un objeto DOM.
Si se llama a val sin parámetros, se invoca al captador. Con un parámetro, se invoca al setter.
he probado con
$.fn.simpleSearch = function() { return _variable; } $.fn.simpleSearch = function (search) { _variable = search; }Pero no funciona.
¿Alguna pista?
No puede definir $.fn.simpleSearch dos veces. La segunda definición anulará la primera.
Puede configurar un getter y setter simple como este:
$.fn.simpleSearch = function (search) { if ( typeof search != 'undefined' ) { _variable = search; } return _variable; } console.log( $(jQuery).simpleSearch() ) console.log( $(jQuery).simpleSearch('foo') ) Sin embargo, este código no está completo porque _variable debe definirse en alguna parte. ¿Pretendes que sea una variable global? ¿Una propiedad de un objeto?
Consulte también ¿Cómo crear una función JQuery personalizada y cómo usarla?