突然想到一个问题,在使用jquery的时候,可不可以让$符返回默认的$(dom)对象,比如返回$('body'),并且$符还可以作为正常的jquery对象使用?
比如:
只写$的时候就代表$('body'),$.hide()就代表‘body’元素隐藏;
写成$('body')的时候也能正常返回$(dom)对象,$('body').hide()也可以使‘body’元素隐藏;
$.extend() $.clean()这类的方法也能正常使用。
如果能实现,该怎么实现?谢谢
欢迎选择我的课程,让我们一起见证您的进步~~
简单一点的实现:
var funcs=['hide','show'] var body=$('body') for (var i=0,j=funcs.length;i<j;i++) { var func=funcs[i] if (typeof $.fn[func] ==='function') { $[func]=$.fn[func].bind(body) } } $.hide()
如果只是为了简化书写的话可以把$("body")赋值给一个变量
$("body")
var $$=$("body")
$('dom') //jQuery对象
$('#dom')[0] //转换为正常dom对象 $('#dom').eq(0) //同样转换 var foo = document.getElementById('foo'); // 正常dom对象 $(foo) 转换为jquey 对线
简单一点的实现:
如果只是为了简化书写的话可以把
$("body")
赋值给一个变量$('dom') //jQuery对象