基本选择器:直接根据id,css类名,元素名返回dom元素;
层次选择器:也叫路径选择器;
$("div span") 选取<div>里的所有<span>元素
$("div >span") 选取<div>元素下直接子元素<span>
$("#one +div") 选取#one的元素的下一个<div>同辈元素 等同于$(#one).next("div")
$("#one~div") 选取#one后面的所有<div>同辈元素 等同于$(#one).nextAll("div")
$(#one).siblings("div") 获取#one的所有同辈元素<div>(不管前后)
$(#one).prev("div") 获取#one前面紧邻的同辈<div>元素
所以 获取元素范围大小顺序依次为:
$(#one).siblings("div")>$("#one~div")>$("#one +div") 或是
$(#one).siblings("div")>$(#one).nextAll("div")>$(#one).next("div")
过滤选择器:
1、基本过滤:
$(‘p:first’) 选取页面元素内的第一个p元素
$(‘p:last’) 选取页面元素内的最后一个p元素
$(‘p:not(.select)’) 选取选择器不是select的p元素
$(‘p:even’) 选取索引是偶数的P元素(索引从0开始)
$(‘p:odd’) 选取索引是奇数的p元素(索引从0开始)
$(‘p:eq(index)’) 选取索引等于index的p元素(索引从0开始,索引支持负数)
$(‘p:gt(index)’) 选取索引>index的p元素(索引从0开始)
$(‘p:lt(index)’) 选取索引<index的p元素(索引从0开始)
$(‘:header’) 选取标题元素h1~h6
$(‘:animated’) 选取正在执行动画的元素
$(‘input:focus’) 选取当前被焦点的元素
jQuery为常用的过滤器提供了丰富的方法
eq(index) 获取是index索引值的元素(索引从0开始,负值从后开始)
first() 选取第一个元素
last() 选取最后一个元素
not(select) 选取不是该选择器的元素
2、内容过滤
$(‘:contains(“百度”)’) 选取含有”百度”文本的元素
$(‘:empty’) 选取不包含子元素或空文本的元素
$(‘:has(select)’) 选取含有该select选择器的元素(必须是父元素上调用,返回的是父元素)
$(‘:parent’) 选取含有子元素或文本的元素
has() jQuery提供了一个has()方法作用等同has过滤器
jQuery提供了parent相关方法,但与过滤器含义不等同
parent() 选择当前元素的父元素
parents() 选择当前元素的祖先元素(包括父元素)
parentsUntil() 选择当前元素的祖先元素,遇到指定元素则停止
3、可见性过滤器
$(‘:hidden’) 选取所有不可见元素
$(‘:visible’) 选取所有可见元素
4、子元素过滤器
$(‘li:first-child’) 查找li作为第一个孩子的元素
$(‘li:last-child’) 获取li的父元素的最后一个子元素
$(‘li:only-child’) 获取只有一个子元素的元素
$(‘li:nth-child(even/odd/index)’)获取li是偶数/奇数/索引的子元素(索引从1开始)