JQuery选择器

 1、最基本的选择器

$('p')    :元素选择器,使用 CSS 选择器来选取 HTML 元素。

$(".test")   :.class 选择器  可以通过指定的 class 查找元素。

$("#test") :#id 选择器通过 HTML 元素的 id 属性选取指定的元素。

$("[href]") :属性选择器,选取所有带有 href 属性的元素。比如$("[href='#']") 选取所有带有 href 值等于 "#" 的元素。$("[href!='#']") 选取所有带有 href 值不等于 "#" 的元素。$("[href$='.jpg']")选取所有 href 值以 ".jpg" 结尾的元素。

 

2、jQuery支持的css3基本选择器

语法描述
$("*") 选取所有元素
$(this) 选取当前 HTML 元素
$("p.intro") 选取 class 为 intro 的 <p> 元素
$("p:first") 选取第一个 <p> 元素
$("ul li:first") 选取第一个 <ul> 元素的第一个 <li> 元素
$("ul li:first-child") 选取每个 <ul> 元素的第一个 <li> 元素
$("[href]") 选取带有 href 属性的元素
$("a[target='_blank']") 选取所有 target 属性值等于 "_blank" 的 <a> 元素
$("a[target!='_blank']") 选取所有 target 属性值不等于 "_blank" 的 <a> 元素
$(":button") 选取所有 type="button" 的 <input> 元素 和 <button> 元素
$("tr:even") 选取偶数位置的 <tr> 元素
$("tr:odd") 选取奇数位置的 <tr> 元素

 

选择器 说明
*、E、E F、E。C、E#I等CSS1选择器 通配符、标记选择器,后代选择器,交集选择器,ID选择器等CSS1中的选择器
E>F 子选择器,只选中第一代
E+F 所有名称为F的标记,并且该标记紧接着前面的E标记,下一个兄弟元素
E~F 所有名称为F的标记,如果F和E是兄弟关系,并且F位于E后面(不需要紧跟E)
E:has(F) 所有名称为E的标记,并且该标记包含F标记
E[A] 所有名称为E的标记,并且具有属性A
E[A=V] 所有名称为E的标记,并且属性A的值等于V
E[A^=V] 所有名称为E的标记,并且属性A的值以V开头
E[A$=V] 所有名称为E的标记,并且属性A的值以V结尾
E[A*=V] 所有名称为E的标记,并且属性A的值包含V

 

3、css3基本选择器中可细分出层次选择器

通过DOM元素之间的层次关系来获取特定元素,例如后代元素,子元素,相邻元素和同辈元素等。

$("ancestor descendant"):选取ancestor元素里的所有descendant元素。

例:$("div span")选取<div>里的所有的<span>元素。

$("parent>child")选取parent元素下的child元素,与$("ancestor descendant")的区别是$("ancestor descendant")选取的是后代元素。

例:$("div >span")选取<div>下元素名是<span>的子元素。

$("prev+next")选取紧接在prev元素后面的next元素。

例:$(".one+div")选取class为one的下一个<div>同辈元素。

$("prev~siblings")选取prev元素之后的所有siblings元素。

例:$("#two~div")选取id为two的元素后面所有<div>同辈元素。

注意:

jquery中next()来代替$("prev+next")选择器。

jquery中nextAll()来代替$("prev~siblings")选择器。

$("prev~siblings")和jquery中siblings()的区别:

$("prev~siblings")只能选中"prev"后面的同辈<div>元素。

siblings()与前后位置无关,只有是同辈节点就都能匹配。

CSS位置选择器

目的:基于元素的位置选择元素,又不局限于此。

语法:jQuery的位置选择器借鉴了css中伪类的语法,即选择器以冒号(:)开始,可以看做是CSS为类的一种扩展。

jQuery支持的CSS3位置选择器
选择器 说明
:first 第一个元素,例如div p:first选中页面中所有p元素的第一个,且该p元素是div的子元素
:last 最后一个元素,例如div p:last选中页面中所有p元素的最后一个,且该p元素是div的子元素
:first-child 第一个子元素,例如ul:first-child选中所有的ul元素,且该ul元素是其父元素的第一个子元素
:last-child 最后一个子元素,例如ul:last-child选中所有的ul元素,且该ul元素是其父元素的最后一个子元素
:only-child   所有没有兄弟的子元素,例如p:only-child选中所有的p元素,如果该p元素是其父元素的唯一子元素
:nth-child(n) 第n个子元素,例如li:nth-child(3)选中所有li元素,且该li元素是其父元素的第3个子元素(从1开始计数)
:nth-child(odd|even) 所有的奇数号或偶数号的子元素
:nth-child(nX+Y) 利用公式来计算子元素的位置,例如:nth-child(5n+1)选中第5n+1个子元素(n从0开始计数,即1,6,11,...)
:odd或:even   对于整个页面而言,选中奇数或偶数号元素,例如p:even为页面中所有排在偶数位的p元素(从0开始计算)
:eq(n) 页面中第n个元素,例如p:eq(4)为页面中第5个p元素
:gt(n) 页面中第n个元素之后的所有元素(不包括第n个元素)
:lt(n) 页面中第n个元素之前的所有元素(不包括第n个元素)

 

过滤选择器(自定义选择器)

目的:处理更复杂的选择,是jQuery自定义的,不是CSS3中的选择器。

语法:jQuery的过滤选择器借鉴了css中伪类的语法,即选择器以冒号(:)开始。

    jQuery常用的过滤选择器

选择器 说明
:animated  所有处于动画中的元素
:button 所有按钮,包括input[type=button]、input[type=submit]、input[type=reset]和<button>标记
:checkbox 所有复选框,等同于input[type=checkbox]
:checked 选择被选中的复选框或单选框
:contains(characters) 选择所有包含了文本"characters"的元素
:disabled 页面中被禁用了的元素
:enabled 页面中没有被禁用的元素
:file 表单中的文件上传元素,等同于input[type=file]
:header 选中所有标题元素,例如<h1>~<h6>
:hidden 匹配所有的不可见元素,例如设置为display:none的元素或input元素的type属性为“hidden”的元素
:image 表单中的图片按钮,等同于input[type=image]
:input 表单输入元素,包括<input>、<select>、<textarea>、<button>
:not(filter) 反向选择
:parent 选择所有拥有子元素(包括文本)的元素,即除空元素外的所有元素
:password 表单中的密码域,等同于input[type=password]
:radio 表单中的单选按钮,等同于input[type=radio]
:reset 表单中的重置按钮,等同于input[type=radio]和button[type=reset]
:selected 下拉菜单中的被选中项
:submit 表单中的提交按钮,包括input[type=submit]和button[type=submit]
:text 表单中的文本域,等同于input[type=text]
:visible 页面中的所有可见元素

 

jQuery 选择器

选择器

实例

选取

 

   

.class.class

$(".intro.demo")

所有 class="intro" 且 class="demo" 的元素

 

 

 

:first

$("p:first")

第一个 <p> 元素

:last

$("p:last")

最后一个 <p> 元素

:even

$("tr:even")

所有偶数 <tr> 元素

:odd

$("tr:odd")

所有奇数 <tr> 元素

 

 

 

:eq(index)

$("ul li:eq(3)")

列表中的第四个元素(index 从 0 开始)

:gt(no)

$("ul li:gt(3)")

列出 index 大于 3 的元素

:lt(no)

$("ul li:lt(3)")

列出 index 小于 3 的元素

:not(selector)

$("input:not(:empty)")

所有不为空的 input 元素

 

 

 

:header

$(":header")

所有标题元素 <h1> - <h6>

:animated

 

所有动画元素

 

 

 

:contains(text)

$(":contains('W3School')")

包含指定字符串的所有元素

:empty

$(":empty")

无子(元素)节点的所有元素

:hidden

$("p:hidden")

所有隐藏的 <p> 元素

:visible

$("table:visible")

所有可见的表格

 

 

 

s1,s2,s3

$("th,td,.intro")

所有带有匹配选择的元素

 

 

 

[attribute]

$("[href]")

所有带有 href 属性的元素

[attribute=value]

$("[href='#']")

所有 href 属性的值等于 "#" 的元素

[attribute!=value]

$("[href!='#']")

所有 href 属性的值不等于 "#" 的元素

[attribute$=value]

$("[href$='.jpg']")

所有 href 属性的值包含以 ".jpg" 结尾的元素

 

 

 

:input

$(":input")

所有 <input> 元素

:text

$(":text")

所有 type="text" 的 <input> 元素

:password

$(":password")

所有 type="password" 的 <input> 元素

:radio

$(":radio")

所有 type="radio" 的 <input> 元素

:checkbox

$(":checkbox")

所有 type="checkbox" 的 <input> 元素

:submit

$(":submit")

所有 type="submit" 的 <input> 元素

:reset

$(":reset")

所有 type="reset" 的 <input> 元素

:button

$(":button")

所有 type="button" 的 <input> 元素

:image

$(":image")

所有 type="image" 的 <input> 元素

:file

$(":file")

所有 type="file" 的 <input> 元素

 

 

 

:enabled

$(":enabled")

所有激活的 input 元素

:disabled

$(":disabled")

所有禁用的 input 元素

:selected

$(":selected")

所有被选取的 input 元素

:checked

$(":checked")

所有被选中的 input 元素

 

 

 

 

以上资料来自于:

https://www.cnblogs.com/starof/p/4034514.html

http://www.w3school.com.cn/jquery/jquery_ref_selectors.asp

http://www.runoob.com/jquery/jquery-selectors.html

posted on 2019-04-03 17:12  进击の咸鱼  阅读(341)  评论(0编辑  收藏  举报

导航