jQuery选择器的层级使用和区分

来源:互联网 发布:c语言指针初始化 编辑:程序博客网 时间:2024/06/06 01:25

层级

  • ancestor descendant 找到(ancestor)中所有的子子孙孙(descendant)元素
  • parent > child 匹配(parent)中所有的子级(child)元素
  • prev + next 匹配所有跟在、紧挨着(prev)后面的(next)元素
  • prev ~ siblings 找到所有与(prev)同辈的(siblings)元素

1、ancestor descendantparent > child的区别

HTML 代码:

<form>  <label>Name:</label>  <input name="name" />  <fieldset>      <label>Newsletter:</label>      <input name="newsletter" /> </fieldset></form><input name="none" />

jQuery 代码:$("form input") 结果:[ <input name="name" />, <input name="newsletter" /> ]
jQuery 代码:$("form > input") 结果:[ <input name="name" /> ]

从上面的示例中可以看出ancestor descendant是查询所有的子子孙孙元素,parent > child只查询所有的子元素,不查询孙元素

2、prev + nextprev ~ siblings的区别

HTML 代码:

<form>  <label>Name:</label>  <input name="name" />  <fieldset>      <label>Newsletter:</label>      <input name="newsletter" /> </fieldset></form><input name="none" />

jQuery 代码:$("label + input") 结果:[ <input name="name" />, <input name="newsletter" /> ]
jQuery 代码:$("form ~ input") 结果:[ <input name="none" /> ]

$("label + input"):匹配所有紧跟在label后面的input元素
$("form ~ input"):找到所有与label同辈的input元素

原创粉丝点击