仿jq写一个小js框架,现在出现问题,请各位帮忙解决一下,谢谢
时间:2009-09-02
来源:互联网
现在的代码是仿jq写的,只是要实现jq中的一小部分,代码如下:
(function(){
var window = this,
undefined,
_XICI = window.XICI,
_$ = window.$,
XICI = window.XICI = window.$ = function() {
return new XICI.fn.init();
};
XICI.fn = XICI.prototype = {
init: function() {
var elements = new Array();
for (var i = 0; i < arguments.length; i++) {
var element = arguments;
if (typeof element == 'string') {
element = document.getElementById(element);
}
if (arguments.length == 1) { return element;}
elements.push(element);
}
return elements;
},
alertme: function(){alert('alertme')}
};
})();
现在外部调用 $.alertme(); 总是提示:对象不支持此属性或方法,但是$.fn.alertme()就没有问题,不知为何,上来请教大家,请帮忙帮忙,多谢!
(function(){
var window = this,
undefined,
_XICI = window.XICI,
_$ = window.$,
XICI = window.XICI = window.$ = function() {
return new XICI.fn.init();
};
XICI.fn = XICI.prototype = {
init: function() {
var elements = new Array();
for (var i = 0; i < arguments.length; i++) {
var element = arguments;
if (typeof element == 'string') {
element = document.getElementById(element);
}
if (arguments.length == 1) { return element;}
elements.push(element);
}
return elements;
},
alertme: function(){alert('alertme')}
};
})();
现在外部调用 $.alertme(); 总是提示:对象不支持此属性或方法,但是$.fn.alertme()就没有问题,不知为何,上来请教大家,请帮忙帮忙,多谢!
作者: Alucard.G 发布时间: 2009-09-02
var window = this,
undefined, //语法不正确
_XICI = window.XICI, //此时这个匿名函数还没定义XICI,因此是undefined
_$ = window.$, //此时这个匿名函数还没定义$,因此是undefined
undefined, //语法不正确
_XICI = window.XICI, //此时这个匿名函数还没定义XICI,因此是undefined
_$ = window.$, //此时这个匿名函数还没定义$,因此是undefined
作者: keakon 发布时间: 2009-09-02
引用
引用第1楼keakon于2009-09-02 11:03发表的 :
var window = this,
undefined, //语法不正确
_XICI = window.XICI, //此时这个匿名函数还没定义XICI,因此是undefined
_$ = window.$, //此时这个匿名函数还没定义$,因此是undefined
var window = this,
undefined, //语法不正确
_XICI = window.XICI, //此时这个匿名函数还没定义XICI,因此是undefined
_$ = window.$, //此时这个匿名函数还没定义$,因此是undefined
谢谢,不过我还没顾及到你说的问题
请问我怎么做才能指向$,而不是$,fn ? 或者指向 XICI , 而不是XICI.fn ?
作者: Alucard.G 发布时间: 2009-09-02
现在$是window.$,是一个匿名函数
$.alertme()是$函数的一个属性,然而你并没有对这个匿名函数定义alertme属性,而是对XICI.prototype定义了这个属性
你应该参考一下jQuery源码中的这段
jQuery.extend = jQuery.fn.extend = function() {
$.alertme()是$函数的一个属性,然而你并没有对这个匿名函数定义alertme属性,而是对XICI.prototype定义了这个属性
你应该参考一下jQuery源码中的这段
jQuery.extend = jQuery.fn.extend = function() {
作者: keakon 发布时间: 2009-09-02
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28