注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

obsolete

wanna go

 
 
 

日志

 
 

jQuery选择器的上下文参数  

2012-07-01 16:54:10|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
刚发现jQuery选择器里可以一次填入多个参数,找了半天也没看到相关文档,于是自己测试了一下。
<script type="text/javascript"> $(function (){   $("p", "div").css("color","red"); }); </script> <div>   div   <p>p in div</p> </div> <p>p not in div</p>
结果:
div
p in div
p not in div
可以看到,只有包含在div里面的p才变红了。
也就是说,这个选择器会先找到所有的div,然后在div里找p,并返回匹配结果。

当然,这个选择器也支持id、class等所有选择器。而且参数也不限制在2个,你可以按需求写任意多个。
实际上它等同于find函数:
$(".loli", ".keakon", "div").css("color","red"); //等同于 $("div").find(".keakon").find(".loli").css("color","red"); //也等同于 $("div .keakon .loli").css("color","red");
当然,最后的写法最简洁,也是用得最多的。
然而最后的写法不能利用已有的jQuery对象和函数返回值,例如$(this)和$("input").parents("div:first"),所以当需要用到这些对象时,第一种写法便可以派上用场了(毕竟比find更简短)。

最后我在《jQuery in Action》里找到了这个术语:context parameter of jQuery selector,直译就是jQuery选择器的上下文参数了。
嘛,我感觉叫多级选择器更形象~
  评论这张
 
阅读(1456)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018