Jquery选择器大全


常用的选择器包括.class,#id,element,*...以及多选择selector1,selector2...N,接下来就是一些比较不常用的但是功能更好用的选择器:


1,ancestor descendant

概述

在给定的祖先元素下匹配所有的后代元素

参数

ancestorSelectorV1.0

任何有效选择器

descendantSelectorV1.0

用以匹配元素的选择器,并且它是第一个选择器的后代元素

描述:

找到表单中所有的 input 元素

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" /> ]
2,

parent > child

概述

在给定的父元素下匹配所有的子元素

参数

parentSelectorV1.0

任何有效选择器

childSelectorV1.0

用以匹配元素的选择器,并且它是第一个选择器的子元素

示例

描述:

匹配表单中所有的子级input元素。

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" /> ]

3,

prev + next

概述

匹配所有紧接在 prev 元素后的 next 元素

参数

prevSelectorV1.0

任何有效选择器

nextSelectorV1.0

一个有效选择器并且紧接着第一个选择器

示例

描述:

匹配所有跟在 label 后面的 input 元素

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" /> ]
4,

prev ~ siblings

概述

匹配 prev 元素之后的所有 siblings 元素

参数

prevSelectorV1.0

任何有效选择器

siblingsSelectorV1.0

一个选择器,并且它作为第一个选择器的同辈

示例

描述:

找到所有与表单同辈的 input 元素

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="none" /> ]
5,

:first

V1.0概述

获取第一个元素

示例

描述:

获取匹配的第一个元素

HTML 代码:
<ul>
    <li>list item 1</li>
    <li>list item 2</li>
    <li>list item 3</li>
    <li>list item 4</li>
    <li>list item 5</li>
</ul>
jQuery 代码:
$('li:first');
结果:
[ <li>list item 1</li> ]
6,

:not(selector)

概述

去除所有与给定选择器匹配的元素

在jQuery 1.3中,已经支持复杂选择器了(例如:not(div a) 和 :not(div,a))

参数

selectorSelectorV1.0

用于筛选的选择器

示例

描述:

查找所有未选中的 input 元素

HTML 代码:
<input name="apple" />
<input name="flower" checked="checked" />
jQuery 代码:
$("input:not(:checked)")
结果:
[ <input name="apple" /> ]
7,

:not(selector)

概述

去除所有与给定选择器匹配的元素

在jQuery 1.3中,已经支持复杂选择器了(例如:not(div a) 和 :not(div,a))

参数

selectorSelectorV1.0

用于筛选的选择器

示例

描述:

查找所有未选中的 input 元素

HTML 代码:
<input name="apple" />
<input name="flower" checked="checked" />
jQuery 代码:
$("input:not(:checked)")
结果:
[ <input name="apple" /> ]
8,

:even

V1.0概述

匹配所有索引值为偶数的元素,从 0 开始计数

示例

描述:

查找表格的1、3、5...行(即索引值0、2、4...)

HTML 代码:
<table>
  <tr><td>Header 1</td></tr>
  <tr><td>Value 1</td></tr>
  <tr><td>Value 2</td></tr>
</table>
jQuery 代码:
$("tr:even")
结果:
[ <tr><td>Header 1</td></tr>, <tr><td>Value 2</td></tr> ]
9,

:odd

概述

匹配所有索引值为奇数的元素,从 0 开始计数

示例

描述:

查找表格的2、4、6行(即索引值1、3、5...)

HTML 代码:
<table>
  <tr><td>Header 1</td></tr>
  <tr><td>Value 1</td></tr>
  <tr><td>Value 2</td></tr>
</table>
jQuery 代码:
$("tr:odd")
结果:
[ <tr><td>Value 1</td></tr> ]
10,

:eq(index)

概述

匹配一个给定索引值的元素

参数

indexNumberV1.0

从 0 开始计数

示例

描述:

查找第二行

HTML 代码:
<table>
  <tr><td>Header 1</td></tr>
  <tr><td>Value 1</td></tr>
  <tr><td>Value 2</td></tr>
</table>
jQuery 代码:
$("tr:eq(1)")
结果:
[ <tr><td>Value 1</td></tr> ]
11,

:gt(index)

概述

匹配所有大于给定索引值的元素

参数

indexNumberV1.0

从 0 开始计数

示例

描述:

查找第二第三行,即索引值是1和2,也就是比0大

HTML 代码:
<table>
  <tr><td>Header 1</td></tr>
  <tr><td>Value 1</td></tr>
  <tr><td>Value 2</td></tr>
</table>
jQuery 代码:
$("tr:gt(0)")
结果:
[ <tr><td>Value 1</td></tr>, <tr><td>Value 2</td></tr> ]
12,

:lang(language)

概述

选择指定语言的所有元素。

:lang选择器,匹配有一个语言值等于所提供的语言代码,或以提供的语言代码开始,后面马上跟一个“ - ”的元素。例如,选择器$("div:lang(en)")将匹配<div lang="en"> and <div lang="en-us">(和他们的后代<div>),但不包括<div lang="fr">

对于HTML元素,语言值由lang属性决定,也可能由来自meta元素或HTTP头信息决定。

这种用法的进一步讨论可以在 W3C CSS规范中找到。

参数

languageV1.9

语言代码

示例

选择所有<P> 的语言属性:

$("p:lang(it)")
13,

:last()

V1.0概述

获取最后个元素

示例

描述:

获取匹配的最后个元素

HTML 代码:
<ul>
    <li>list item 1</li>
    <li>list item 2</li>
    <li>list item 3</li>
    <li>list item 4</li>
    <li>list item 5</li>
</ul>
jQuery 代码:
$('li:last')
结果:
[ <li>list item 5</li> ]
14,

:lt(index)

概述

匹配所有小于给定索引值的元素

参数

indexNumberV1.0

从 0 开始计数

示例

描述:

查找第一第二行,即索引值是0和1,也就是比2小

HTML 代码:
<table>
  <tr><td>Header 1</td></tr>
  <tr><td>Value 1</td></tr>
  <tr><td>Value 2</td></tr>
</table>
jQuery 代码:
$("tr:lt(2)")
结果:
[ <tr><td>Header 1</td></tr>, <tr><td>Value 1</td></tr> 
15,

:header

V1.2概述

匹配如 h1, h2, h3之类的标题元素

示例

描述:

给页面内所有标题加上背景色

HTML 代码:
<h1>Header 1</h1>
<p>Contents 1</p>
<h2>Header 2</h2>
<p>Contents 2</p>
jQuery 代码:
$(":header").css("background", "#EEE");
结果:
[ <h1 style="background:#EEE;">Header 1</h1>, <h2 style="background:#EEE;">Header 2</h2> ]
16,

:animated

V1.2概述

匹配所有正在执行动画效果的元素

示例

描述:

只有对不在执行动画效果的元素执行一个动画特效

HTML 代码:
<button id="run">Run</button><div></div>
jQuery 代码:
$("#run").click(function(){
  $("div:not(:animated)").animate({ left: "+=20" }, 1000);
});
17,

:focus

概述

匹配当前获取焦点的元素。

如同其他伪类选择器(那些以":"开始),建议:focus前面用标记名称或其他选择;否则,通用选择("*")是不言而喻的。换句话说,$(':focus')等同为$('*:focus')。如果你正在寻找当前的焦点元素,$( document.activeElement )将检索,而不必搜索整个DOM树。

示例

描述:

添加一个"focused"的类名给那些有focus方法的元素

css 代码:
.focused {
    background: #abcdef;
}
html 代码:
<div id="content">
    <input tabIndex="1">
    <input tabIndex="2">
    <select tabIndex="3">
        <option>select menu</option>
    </select>
    <div tabIndex="4">
        a div
    </div>
</div>
jQuery 代码:
$( "#content" ).delegate( "*", "focus blur", function( event ) {
    var elem = $( this );
    setTimeout(function() {
       elem.toggleClass( "focused", elem.is( ":focus" ) );
    }, 0);
});
18,

:root

V1.9概述

选择该文档的根元素。

在HTML中,文档的根元素,和$(":root")选择的元素一样, 永远是<html>元素。

示例

设置<html>背景颜色为黄色

$(":root").css("background-color","yellow");
19,

:target

V1.9概述

选择由文档URI的格式化识别码表示的目标元素。

如果文档的URI包含一个格式化的标识符,或hash(哈希), 然后:target选择器将匹配ID和标识符相匹配的元素。  例如,给定的URI http://example.com/#foo, $( "p:target" ),将选择<p id="foo">元素。

这个不寻常的用法,可进一步讨论中找到 W3C CSS specification.

20,

:contains(text)

概述

匹配包含给定文本的元素

参数

textStringV1.1.4

一个用以查找的字符串

示例

描述:

查找所有包含 "John" 的 div 元素

HTML 代码:
<div>John Resig</div>
<div>George Martin</div>
<div>Malcom John Sinclair</div>
<div>J. Ohn
jQuery 代码:
$("div:contains('John')")
结果:
[ <div>John Resig</div>, <div>Malcom John Sinclair</div> ]
21,

:empty

V1.0概述

匹配所有不包含子元素或者文本的空元素

示例

描述:

查找所有不包含子元素或者文本的空元素

HTML 代码:
<table>
  <tr><td>Value 1</td><td></td></tr>
  <tr><td>Value 2</td><td></td></tr>
</table>
jQuery 代码:
$("td:empty")
结果:
[ <td></td>, <td></td> ]
22,

:has(selector)

概述

匹配含有选择器所匹配的元素的元素

参数

selectorSelectorV1.1.4

一个用于筛选的选择器

示例

描述:

给所有包含 p 元素的 div 元素添加一个 text 类

HTML 代码:
<div><p>Hello</p></div>
<div>Hello again!</div>
jQuery 代码:
$("div:has(p)").addClass("test");
结果:
[ <div class="test"><p>Hello</p></div> ]
23,

:parent

V1.0概述

匹配含有子元素或者文本的元素

示例

描述:

查找所有含有子元素或者文本的 td 元素

HTML 代码:
<table>
  <tr><td>Value 1</td><td></td></tr>
  <tr><td>Value 2</td><td></td></tr>
</table>
jQuery 代码:
$("td:parent")
结果:
[ <td>Value 1</td>, <td>Value 2</td> ]
24,

:hidden

V1.0概述

匹配所有不可见元素,或者type为hidden的元素

示例

描述:

查找隐藏的 tr

HTML 代码:
<table>
  <tr style="display:none"><td>Value 1</td></tr>
  <tr><td>Value 2</td></tr>
</table>
jQuery 代码:
$("tr:hidden")
结果:
[ <tr style="display:none"><td>Value 1</td></tr> ]
描述:

匹配type为hidden的元素

HTML 代码:
<form>
  <input type="text" name="email" />
  <input type="hidden" name="id" />
</form>
jQuery 代码:
$("input:hidden")
结果:
[ <input type="hidden" name="id" /> ]
25,

:visible

V1.0概述

匹配所有的可见元素

示例

描述:

查找所有可见的 tr 元素

HTML 代码:
<table>
  <tr style="display:none"><td>Value 1</td></tr>
  <tr><td>Value 2</td></tr>
</table>
jQuery 代码:
$("tr:visible")
结果:
[ <tr><td>Value 2</td></tr> ]
26,

[attribute]

概述

匹配包含给定属性的元素。注意,在jQuery 1.3中,前导的@符号已经被废除!如果想要兼容最新版本,只需要简单去掉@符号即可。

参数

attributeStringV1.0

属性名

示例

描述:

查找所有含有 id 属性的 div 元素

HTML 代码:
<div>
  <p>Hello!</p>
</div>
<div id="test2"></div>
jQuery 代码:
$("div[id]")
结果:
[ <div id="test2"></div> ]
27,

[attribute=value]

概述

匹配给定的属性是某个特定值的元素

参数

attributeStringV1.0

属性名

valueStringV1.0

属性值。引号在大多数情况下是可选的。但在遇到诸如属性值包含"]"时,用以避免冲突。

示例

描述:

查找所有 name 属性是 newsletter 的 input 元素

HTML 代码:
<input type="checkbox" name="newsletter" value="Hot Fuzz" />
<input type="checkbox" name="newsletter" value="Cold Fusion" />
<input type="checkbox" name="accept" value="Evil Plans" />
jQuery 代码:
$("input[name='newsletter']").attr("checked", true);
结果:
[ <input type="checkbox" name="newsletter" value="Hot Fuzz" checked="true" />, <input type="checkbox" name="newsletter" value="Cold Fusion" checked="true" /> ]
28,

[attribute!=value]

概述

匹配所有不含有指定的属性,或者属性不等于特定值的元素。

此选择器等价于 :not([attr=value]) 要匹配含有特定属性但不等于特定值的元素,请使用[attr]:not([attr=value])

参数

attributeStringV1.0

属性名

valueStringV1.0

属性值。引号在大多数情况下是可选的。但在遇到诸如属性值包含"]"时,用以避免冲突。

示例

描述:

查找所有 name 属性不是 newsletter 的 input 元素

HTML 代码:
<input type="checkbox" name="newsletter" value="Hot Fuzz" />
<input type="checkbox" name="newsletter" value="Cold Fusion" />
<input type="checkbox" name="accept" value="Evil Plans" />
jQuery 代码:
$("input[name!='newsletter']").attr("checked", true);
结果:
[ <input type="checkbox" name="accept" value="Evil Plans" checked="true" /> ]
29,

[attribute^=value]

概述

匹配给定的属性是以某些值开始的元素

参数

attributeStringV1.0

属性名

valueStringV1.0

属性值。引号在大多数情况下是可选的。但在遇到诸如属性值包含"]"时,用以避免冲突。

示例

描述:

查找所有 name 以 'news' 开始的 input 元素

HTML 代码:
<input name="newsletter" />
<input name="milkman" />
<input name="newsboy" />
jQuery 代码:
$("input[name^='news']")
结果:
[ <input name="newsletter" />, <input name="newsboy" /> ]
30,

[attribute$=value]

概述

匹配给定的属性是以某些值结尾的元素

参数

attributeStringV1.0

属性名

valueStringV1.0

属性值。引号在大多数情况下是可选的。但在遇到诸如属性值包含"]"时,用以避免冲突。

示例

描述:

查找所有 name 以 'letter' 结尾的 input 元素

HTML 代码:
<input name="newsletter" />
<input name="milkman" />
<input name="jobletter" />
jQuery 代码:
$("input[name$='letter']")
结果:
[ <input name="newsletter" />, <input name="jobletter" /> ]
31,

[attribute*=value]

概述

匹配给定的属性是以包含某些值的元素

参数

attributeStringV1.0

属性名

valueStringV1.0

属性值。引号在大多数情况下是可选的。但在遇到诸如属性值包含"]"时,用以避免冲突。

示例

描述:

查找所有 name 包含 'man' 的 input 元素

HTML 代码:
<input name="man-news" />
<input name="milkman" />
<input name="letterman2" />
<input name="newmilk" />
jQuery 代码:
$("input[name*='man']")
结果:
[ <input name="man-news" />, <input name="milkman" />, <input name="letterman2" /> ]
32,

[selector1][selector2][selectorN]

V1.0概述

复合属性选择器,需要同时满足多个条件时使用。

参数

selector1Selector

属性选择器

selector2Selector

另一个属性选择器,用以进一步缩小范围

selectorNSelector

任意多个属性选择器

示例

描述:

找到所有含有 id 属性,并且它的 name 属性是以 man 结尾的

HTML 代码:
<input id="man-news" name="man-news" />
<input name="milkman" />
<input id="letterman" name="new-letterman" />
<input name="newmilk" />
jQuery 代码:
$("input[id][name$='man']")
结果:
[ <input id="letterman" name="new-letterman" /> ]
33,

:first-child

V1.1.4概述

匹配所给选择器( :之前的选择器)的第一个子元素

类似的 :first 匹配第一个元素,但是:first-child选择器可以匹配多个:即为每个父级元素匹配第一个子元素。这相当于:nth-child(1)

示例

描述:

在每个 ul 中查找第一个 li

HTML 代码:
<ul>
  <li>John</li>
  <li>Karl</li>
  <li>Brandon</li>
</ul>
<ul>
  <li>Glen</li>
  <li>Tane</li>
  <li>Ralph</li>
</ul>
jQuery 代码:
$("ul li:first-child")
结果:
[ <li>John</li>, <li>Glen</li> ]
32,

:first-of-type

V1.9概述

结构化伪类,匹配E的父元素的第一个E类型的孩子。等价于 :nth-of-type(1) 选择器。

解释的很模糊,网上搜了很多都是扯淡的解释,作者也只能自己一个个试,试了几十次才弄的稍微有点清楚,如果错了,慢点拍砖,怕怕。直接看示例。

描述:

查找作为父元素的span类型子元素中的"长子"的span标签

HTML 代码:
<div id="n1">
    <div id="n2" class="abc">
        <label id="n3">label1</label>
        <span id="n4">span1</span>
        <span id="n5" class="abc">span2</span>
        <span id="n6">span3</span>
    </div>
    <div id="n7">
        <span id="n8" class="abc">span1</span>
        <span id="n9">span2</span>
    </div>
</div>
jQuery 代码:
$("span:first-of-type");
结果:
//n4虽然不是n2的第一个子元素,但它是n2所有span类型子元素中的第一个,因此可以匹配
[<span id="n4">span1</span>,<span id="n8" class="abc">span1</span>]
HTML 代码:
<div id="n1">
    <div id="n2" class="abc">
        <label id="n3">label1</label>
        <span id="n4">span1</span>
        <span id="n5" class="abc">span2</span>
        <span id="n6">span3</span>
    </div>
    <div id="n7">
        <span id="n8" class="abc">span1</span>
        <span id="n9">span2</span>
    </div>
</div>
jQuery 代码:
$(".abc:first-of-type");
结果:
//.abc可以匹配id分别为n2、n5、n8的3个元素,n2是n1所有div类型子元素中的第一个,n8是n7所有span类型子元素中的第一个,但n5不是n2所有span类型子元素中的第一个,因此不能匹配n5。
[<div id="n2" class="abc">,<span id="n8" class="abc">span1</span>]
33,

:last-child

V1.1.4概述

匹配最后一个子元素

:last 只匹配最后一个元素,而此选择符将为每个父元素匹配最后一个子元素

示例

描述:

在每个 ul 中查找最后一个 li

HTML 代码:
<ul>
  <li>John</li>
  <li>Karl</li>
  <li>Brandon</li>
</ul>
<ul>
  <li>Glen</li>
  <li>Tane</li>
  <li>Ralph</li>
</ul>
jQuery 代码:
$("ul li:last-child")
结果:
[ <li>Brandon</li>, <li>Ralph</li> ]
34,

:last-of-type

V1.9概述

结构化伪类,匹配E的父元素的最后一个E类型的孩子

大体的意思跟 :first-of-type 差不多,只是一个是第一个元素,一个是最后一个元素,这里就不赘述了。

35,

:nth-child

概述

匹配其父元素下的第N个子或奇偶元素

:eq(index) 匹配选择器指定序列的元素,而这个将为每一个父元素匹配子元素。

:nth-child从1开始的,而:eq()是从0算起的!可以使用:<br>nth-child(even)<br>:nth-child(odd)<br>:nth-child(3n)<br>:nth-child(2)<br>:nth-child(3n+1)<br>:nth-child(3n+2)

参数

indexNumberV1.1.4

要匹配元素的序号,从1开始

示例

描述:

在每个 ul 查找第 2 个li

HTML 代码:
<ul>
  <li>John</li>
  <li>Karl</li>
  <li>Brandon</li>
</ul>
<ul>
  <li>Glen</li>
  <li>Tane</li>
  <li>Ralph</li>
</ul>
jQuery 代码:
$("ul li:nth-child(2)")
结果:
[ <li>Karl</li>,   <li>Tane</li> ]
36,

:nth-last-child(n|even|odd|formula)

V1.9概述

选择所有他们父元素的第n个子元素。计数从最后一个元素开始到第一个。

因为jQuery的实现:nth-child(n)是严格来自CSS规范,所以n值是“1索引”,也就是说,从1开始计数。对于所有其他选择器表达式,jQuery遵循JavaScript的“0索引”的计数。因此,给定一个单一<ul>包含两个<li>, $('li:nth-child(1)')选择第一个<li>,而$('li:eq(1)')选择第二个。

这个不寻常的用法,可进一步讨论中找到W3C CSS specification.

参数

nV1.9

匹配子元素序号

必须为整数,注意从1开始而不是0

evenV1.9

匹配所有偶数元素

oddV1.9

匹配所有奇数元素

formulaV1.9

使用特殊公式如(an + b)进行选择. 例如:nth-last-child(3n+2) 从倒数第二个子元素开始,匹配每个3的倍数的元素

示例

在每个匹配的ul中查找倒数第二个li

<ul>
	<li>1</li>
	<li>2</li>
	<li>3</li>
	<li>4</li>
</ul>

$("ul li:nth-last-child(2)");
37,

:nth-last-of-type(n|even|odd|formula)

V1.9概述

选择的所有他们的父级元素的第n个子元素,计数从最后一个元素到第一个。

因为jQuery的实现:nth-是严格来自CSS规范,n值是“1-indexed”,也就是说,从1开始计数。 对于所有其他选择器表达式比如:eq() 或 :even ,jQuery遵循JavaScript的“0索引”的计数。因此,给定一个单一<ul>包含3个<li>,$('li:nth-last-of-type(1)')选择第3个,也就是最后一个<li>。

这个不寻常的用法,可进一步讨论中找到 W3C CSS specification.

参数

nV1.9

匹配子元素序号

必须为整数,注意从1开始而不是0

evenV1.9

匹配所有偶数元素

oddV1.9

匹配所有奇数元素

formulaV1.9

使用特殊公式如(an + b)进行选择. 例如:nth-last-of-type(3n+2) 从倒数第二个具备此标签元素开始,匹配每个3的倍数的元素

示例

在每个匹配的ul中查找倒数第二个li

<ul>
	<li>1</li>
	<li>2</li>
	<li>3</li>
	<li>4</li>
</ul>

$("ul li:nth-last-of-type(2)");
38,

:nth-of-type(n|even|odd|formula)

V1.9概述

选择同属于一个父元素之下,并且标签名相同的子元素中的第n个。

因为jQuery的实现:nth-是严格来自CSS规范,n值是“1-indexed”,也就是说,从1开始计数。对于所有其他选择器表达式比如:eq() 或 :even ,jQuery遵循JavaScript的“0索引”的计数。

这个不寻常的用法,可进一步讨论中找到W3C CSS specification.

参数

nV1.9

匹配子元素序号

必须为整数,注意从1开始而不是0

evenV1.9

匹配所有偶数元素

oddV1.9

匹配所有奇数元素

formulaV1.9

使用特殊公式如(an + b)进行选择. 例如:nth-of-type(3n+2) 从第二个具此标签元素开始,匹配每个3的倍数的元素

示例

查找每个span,这个 span 是 其所有兄弟span元素中的第二个元素。

<div>
  <span>John</span>
  <b>Kim</b>
  <span>Adam</span>
  <b>Rafael</b>
  <span>Oleg</span>
</div>
<div>
  <b>Dave</b>
  <span>Ann</span>
</div>
<div>
  <i><span>Maurice</span></i>
  <span>Richard</span>
  <span>Ralph</span>
  <span>Jason</span>
</div>

$("span:nth-of-type(2)");
39,

:only-child

V1.1.4概述

如果某个元素是父元素中唯一的子元素,那将会被匹配

如果父元素中含有其他元素,那将不会被匹配。(注:这里的其他元素并不包含文本节点,如:<p><img/>图片</p>,用$('p img:only-child')是可以匹配,感谢:nwujiajie 指正)

示例

描述:

在 ul 中查找是唯一子元素的 li

HTML 代码:
<ul>
  <li>John</li>
  <li>Karl</li>
  <li>Brandon</li>
</ul>
<ul>
  <li>Glen</li>
</ul>
jQuery 代码:
$("ul li:only-child")
结果:
[ <li>Glen</li> ]
40,

:only-of-type

V1.9概述

选择所有没有兄弟元素,且具有相同的元素名称的元素。

如果父元素有相同的元素名称的其他子元素,那么没有元素会被匹配。

41,

:input

V1.0概述

匹配所有 input, textarea, select 和 button 元素

示例

描述:

查找所有的input元素,下面这些元素都会被匹配到。

HTML 代码:
<form>
    <input type="button" value="Input Button"/>
    <input type="checkbox" />

    <input type="file" />
    <input type="hidden" />
    <input type="image" />

    <input type="password" />
    <input type="radio" />
    <input type="reset" />

    <input type="submit" />
    <input type="text" />
    <select><option>Option</option></select>

    <textarea></textarea>
    <button>Button</button>

</form>
jQuery 代码:
$(":input")
结果:
[ 
    <input type="button" value="Input Button"/>,
    <input type="checkbox" />,

    <input type="file" />,
    <input type="hidden" />,
    <input type="image" />,

    <input type="password" />,
    <input type="radio" />,
    <input type="reset" />,

    <input type="submit" />,
    <input type="text" />,
    <select><option>Option</option></select>,

    <textarea></textarea>,
    <button>Button</button>,
 ]
42,

:text

V1.0概述

匹配所有的单行文本框

示例

描述:

查找所有文本框

HTML 代码:
<form>
  <input type="text" />
  <input type="checkbox" />
  <input type="radio" />
  <input type="image" />
  <input type="file" />
  <input type="submit" />
  <input type="reset" />
  <input type="password" />
  <input type="button" />
  <select><option/></select>
  <textarea></textarea>
  <button></button>
</form>
jQuery 代码:
$(":text")
结果:
[ <input type="text" /> ]
42,

:password

V1.0概述

匹配所有密码框

示例

描述:

查找所有密码框

HTML 代码:
<form>
  <input type="text" />
  <input type="checkbox" />
  <input type="radio" />
  <input type="image" />
  <input type="file" />
  <input type="submit" />
  <input type="reset" />
  <input type="password" />
  <input type="button" />
  <select><option/></select>
  <textarea></textarea>
  <button></button>
</form>
jQuery 代码:
$(":password")
结果:
[ <input type="password" /> ]
43,

:radio

V1.0概述

匹配所有单选按钮

示例

描述:

查找所有单选按钮

HTML 代码:
<form>
  <input type="text" />
  <input type="checkbox" />
  <input type="radio" />
  <input type="image" />
  <input type="file" />
  <input type="submit" />
  <input type="reset" />
  <input type="password" />
  <input type="button" />
  <select><option/></select>
  <textarea></textarea>
  <button></button>
</form>
jQuery 代码:
$(":radio")
结果:
[ <input type="radio" /> ]
44,

:checkbox

V1.0概述

匹配所有复选框

示例

描述:

查找所有复选框

HTML 代码:
<form>
  <input type="text" />
  <input type="checkbox" />
  <input type="radio" />
  <input type="image" />
  <input type="file" />
  <input type="submit" />
  <input type="reset" />
  <input type="password" />
  <input type="button" />
  <select><option/></select>
  <textarea></textarea>
  <button></button>
</form>
jQuery 代码:
$(":checkbox")
结果:
[ <input type="checkbox" /> ]
45,

:submit

V1.0概述

匹配所有提交按钮,理论上只匹配 type="submit" 的input或者button,但是现在的很多浏览器,button元素默认的type即为submit,所以很多情况下,不设置type的button也会成为筛选结果。为了防止歧义或者误操作,建议所有的button在使用时都添加type属性。

示例

描述:

查找所有提交按钮

HTML 代码:
<form>
  <input type="text" />
  <input type="checkbox" />
  <input type="radio" />
  <input type="image" />
  <input type="file" />
  <input type="submit" />
  <input type="reset" />
  <input type="password" />
  <input type="button" />
  <select><option/></select>
  <textarea></textarea>
  <button></button>
</form>
jQuery 代码:
$(":submit")
结果:
[ <input type="submit" />, <button></button> ]
46,

:image

V1.0概述

匹配所有图像域

示例

描述:

匹配所有图像域

HTML 代码:
<form>
  <input type="text" />
  <input type="checkbox" />
  <input type="radio" />
  <input type="image" />
  <input type="file" />
  <input type="submit" />
  <input type="reset" />
  <input type="password" />
  <input type="button" />
  <select><option/></select>
  <textarea></textarea>
  <button></button>
</form>
jQuery 代码:
$(":image")
结果:
[ <input type="image" /> ]
47,

:reset

V1.0概述

匹配所有重置按钮

示例

描述:

查找所有重置按钮

HTML 代码:
<form>
  <input type="text" />
  <input type="checkbox" />
  <input type="radio" />
  <input type="image" />
  <input type="file" />
  <input type="submit" />
  <input type="reset" />
  <input type="password" />
  <input type="button" />
  <select><option/></select>
  <textarea></textarea>
  <button></button>
</form>
jQuery 代码:
$(":reset")
结果:
[ <input type="reset" /> ]
48,

:button

V1.0概述

匹配所有按钮

示例

描述:

查找所有按钮.

HTML 代码:
<form>
  <input type="text" />
  <input type="checkbox" />
  <input type="radio" />
  <input type="image" />
  <input type="file" />
  <input type="submit" />
  <input type="reset" />
  <input type="password" />
  <input type="button" />
  <select><option/></select>
  <textarea></textarea>
  <button></button>
</form>
jQuery 代码:
$(":button")
结果:
[ <input type="button" />,<button></button> ]
49,

:file

V1.0概述

匹配所有文件域

示例

描述:

查找所有文件域

HTML 代码:
<form>
  <input type="text" />
  <input type="checkbox" />
  <input type="radio" />
  <input type="image" />
  <input type="file" />
  <input type="submit" />
  <input type="reset" />
  <input type="password" />
  <input type="button" />
  <select><option/></select>
  <textarea></textarea>
  <button></button>
</form>
jQuery 代码:
$(":file")
结果:
[ <input type="file" /> ]
50,

:enabled

V1.0概述

匹配所有可用元素

示例

描述:

查找所有可用的input元素

HTML 代码:
<form>
  <input name="email" disabled="disabled" />
  <input name="id" />
</form>
jQuery 代码:
$("input:enabled")
结果:
[ <input name="id" /> ]
51,

:disabled

V1.0概述

匹配所有不可用元素

示例

描述:

查找所有不可用的input元素

HTML 代码:
<form>
  <input name="email" disabled="disabled" />
  <input name="id" />
</form>
jQuery 代码:
$("input:disabled")
结果:
[ <input name="email" disabled="disabled" /> ]
52,

:checked

V1.0概述

匹配所有选中的被选中元素(复选框、单选框等,select中的option),对于select元素来说,获取选中推荐使用 :selected

示例

描述:

查找所有选中的复选框元素

HTML 代码:
<form>
  <input type="checkbox" name="newsletter" checked="checked" value="Daily" />
  <input type="checkbox" name="newsletter" value="Weekly" />
  <input type="checkbox" name="newsletter" checked="checked" value="Monthly" />
</form>
jQuery 代码:
$("input:checked")
结果:
[ <input type="checkbox" name="newsletter" checked="checked" value="Daily" />, <input type="checkbox" name="newsletter" checked="checked" value="Monthly" /> ]
53,

:selected

V1.0概述

匹配所有选中的option元素

示例

描述:

查找所有选中的选项元素

HTML 代码:
<select>
  <option value="1">Flowers</option>
  <option value="2" selected="selected">Gardens</option>
  <option value="3">Trees</option>
</select>
jQuery 代码:
$("select option:selected")
结果:
[ <option value="2" selected="selected">Gardens</option> ]
54,

$.escapeSelector(selector)

V3.0概述

这个方法通常被用在类选择器或者ID选择器中包含一些CSS特殊字符的时候,这个方法基本上与CSS中CSS.escape()方法类似,唯一的区别是jquery中的这个方法支持所有浏览器。

示例

描述:

对含有#号的ID进行编码

jQuery 代码:
$.escapeSelector( "#target" ); // "\#target" 
描述:

选择出类中包含.box的div

HTML 代码:
<div><div class="notMe">div class="notMe"</div>
<div class=".box myClass">div class=".box myClass"</div>
<div class=".box">span class=".box"</div></div>
jQuery 代码:
$( "div" ).find( "." + $.escapeSelector( ".box" ) );
结果:
[ <div class=".box myClass">div class=".box myClass"</div>,<div class=".box">span class=".box"</div> ]
以上就是我查阅的完整的Jquery的选择器和详细解释和用法,若有新的我会及时更新
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

丘鸣山进军Java

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值