开发者社区 问答 正文

$("ul", div)起什么作用?

看到一个jquery插件这样写:var div = $(this), ul = $("ul", div), tLi = $("li", ul)......
请问$("ul", div)的意义是什么?

展开
收起
小旋风柴进 2016-03-23 13:28:34 2290 分享 版权
1 条回答
写回答
取消 提交回答
  • 不应该说“div.find($("ul"))” ,应该是 div.find("ul") 吧……

    $(...)括号里第二个参数如果是jQuery对象或者Dom对象的话,就是以该对象为上下文进行查询。这相当于一种简写法,可以缩短源码,并且在packer的时候可以减少一个词汇。

    当然,如果没有这个参数的话,默认的查询上下文就是整个Dom文档。

    //原语句
    var div = $(this), ul = $("ul", div), tLi = $("li", ul);
    //等同于
    var div = $(this), ul = div.find('ul'), tLi = ul.find('li');
    
    //省略第二个上下文对象参数的情况
    $('ul') == $('ul',document)  == $(document).find('ul');
    2019-07-17 19:10:45
    赞同 展开评论
问答分类:
问答地址: