function Plugin( element, options ) {
this.options = $.extend( {}, defaults, options );
this.element = $(element);
this._defaults = defaults;
this._name = pluginName;
// this.tagType = ':checkbox', ':radio','select';
this.stackiSelect = $();
this.stackiCheckbox = $();
this.stackiRadio = $();
this.init();
} Plugin.prototype = {
init: function() {
var fm = this;
this.identify(this.element,'select',this.stackiSelect);
console.log(this.stackiSelect);//undefined ??
this.stackiSelect.each(function(index, domEle) {
//.........
});
},
/*identify the tagType ,and take the tag for transform to the stack */
identify: function(object,tagType,stack) {
object.each(function() {
var self = $(this);
stack = self.is(tagType) ? stack.add(self) : stack.add(self.find(tagType));//identify
});
}
}
(写成插件的...)从选择器选择的中筛出checkbox radio select ,然后美化下..定义了三个容器stackiSelect
stackiCheckbox stackiRadio 作为构造函数的属性,然后我想重用原型里的写的identify()但是调用后没用为空.
如果这样是可以的:
identify: function(object,tagType) {
var fm = this;
object.each(function() {
var self = $(this);
fm.stackiCheckbox = self.is(tagType) ? fm.stackiCheckbox .add(self) :fm.stackiCheckbox .add(self.find(tagType));//identify
});
}不明白啊,为什么把属性作为形参不改变呢?求解.!!谢谢啦
解决方案 »
- javascript不能控制flash播放
- 当grid中只有一条记录时,approve后应该refresh,记录应该消失,现在不消失怎么回事?当grid有多条记录时好使。
- 怎么将javascript变量值传递到href连接中
- JavaScript这段代码 代表什么意思 ?? ( function(){ } )();
- 新人求助JQuery绑定事件
- 开发思维问题
- 如何使这个静态分页后的<OL>不改变行号
- 这个javascript哪错了
- XPSPII系统IE始终报错
- 如果让text在输入的时候不横向滚动? 比如长度为10的text,只能输入10个,而不是超长以后滚动
- extjs中textfield中输入空格到后台变成’+‘
- safari不支持window.URL.createObjectURL(obj.files[0])
var a = 'this is a!';
var b = a; //把a赋值给b,a和b现在都指向同一个字符串
b = 'another!'; //试图给b赋值,想达到改变a的值的目的
alert(a); //this is a,但是a还是没改变var a = {key:'this is a!'};
var b = a; //把a赋值给b,这时a和b指向同一个对象
b.key = 'another!'; //试图给b的某个属性赋值
alert(a.key); //another,a的这个属性也改变了,其实a和b就是指向同一份内容
{
identify: function(object,tagType,stack) {
object.each(function() {
var self = $(this);
stack = self.is(tagType) ? stack.add(self) : stack.add(self.find(tagType));//identify
});
}
}identify的第三个参数stack,试图通过赋值来改变实参的值,是做不到的。一种方法是通过返回值:
stack = context.identify(object,tagType,stack);
在identify内部把新的stack return回来,调用的时候重新赋值给stack。
还有就是使用改变属性的方式来改变实参的属性。