看到一个jquery插件这样写:var div = $(this), ul = $("ul", div), tLi = $("li", ul)......
请问$("ul", div)的意义是什么?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
不应该说“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');