如何为 jquery 对象创建 getter 和 setter?
How to create a getter and setter for jquery object?
我想为 $
对象添加一个 getter 和一个 setter,类似于 DOM 对象的 val()
函数。
如果不带参数调用val
,则调用getter。使用一个参数,调用 setter。
我试过
$.fn.simpleSearch = function() {
return _variable;
}
$.fn.simpleSearch = function (search) {
_variable = search;
}
但是不行。
有什么提示吗?
您不能定义 $.fn.simpleSearch
两次。第二个定义将覆盖第一个。
您可以像这样设置一个简单的 getter 和 setter:
$.fn.simpleSearch = function (search) {
if ( typeof search != 'undefined' ) {
_variable = search;
}
return _variable;
}
console.log( $(jQuery).simpleSearch() )
console.log( $(jQuery).simpleSearch('foo') )
但是,这段代码并不完整,因为 _variable
需要在某处定义。你想让它成为一个全局变量吗?对象的属性?
另见 How to create custom JQuery function and how to use it?
我想为 $
对象添加一个 getter 和一个 setter,类似于 DOM 对象的 val()
函数。
如果不带参数调用val
,则调用getter。使用一个参数,调用 setter。
我试过
$.fn.simpleSearch = function() {
return _variable;
}
$.fn.simpleSearch = function (search) {
_variable = search;
}
但是不行。
有什么提示吗?
您不能定义 $.fn.simpleSearch
两次。第二个定义将覆盖第一个。
您可以像这样设置一个简单的 getter 和 setter:
$.fn.simpleSearch = function (search) {
if ( typeof search != 'undefined' ) {
_variable = search;
}
return _variable;
}
console.log( $(jQuery).simpleSearch() )
console.log( $(jQuery).simpleSearch('foo') )
但是,这段代码并不完整,因为 _variable
需要在某处定义。你想让它成为一个全局变量吗?对象的属性?
另见 How to create custom JQuery function and how to use it?