jQuery中哪几种选择器

基本选择器:直接根据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开始)

  

猜你喜欢

转载自www.cnblogs.com/liubingyjui/p/10483557.html