开发者社区 问答 正文

jquery的$符能返回默认dom对象吗?

突然想到一个问题,在使用jquery的时候,可不可以让符返回默认的(dom)对象,比如返回(′body′),并且符还可以作为正常的jquery对象使用?

比如:

只写的时候就代表('body'),$.hide()就代表‘body’元素隐藏;

写成(′body′)的时候也能正常返回(dom)对象,$('body').hide()也可以使‘body’元素隐藏;

.extend().clean()这类的方法也能正常使用。

如果能实现,该怎么实现?谢谢

展开
收起
小旋风柴进 2016-05-31 09:02:18 2007 分享 版权
1 条回答
写回答
取消 提交回答
  • 简单一点的实现:

    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")赋值给一个变量

    var $$=$("body")

    2019-07-17 19:21:14
    赞同 展开评论