jQuery选择器概述:
选择器是jQuery的根基,在jQuery中对事件处理、遍历DOM和Ajax操作都依赖于选择器。
jQuery选择器:
* | $("*") | 所有元素 |
#id | $("#lastname") | id="lastname" 的元素 |
.class | $(".intro") | 所有 class="intro" 的元素 |
element | $("p") | 所有 <p> 元素 |
.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 元素 |
下面先简单介绍一下常用选择器的语法,如下:
1、类选择器HTML代码:<div class="mydiv"></div>Jquery获取对象:$(".mydiv")
2、ID选择器HTML代码:<div id="mydiv"></div>Jquery获取对象:$("#mydiv")
3、标签选择器HTML代码:<span></span>Jquery获取对象:$("span")
4、通配符选择器HTML代码:<div><span>文字</span><h1>标题</h1><p>段落</p></div>Jquery获取对象:$("div *"),获取div下的所有标签对象
5、同时定义多个选择器HTML代码:<div id="mydiv"></div><span class="other"></span>Jquery获取对象:$("#mydiv,.other"),注意有逗号隔开了
6、子选择器HTML代码:<h1><span></span></h1>Jquery获取对象:$("h1 > span"),需要注意的是,这种方式只会获取H1下面的SPAN,如果H1的孙子还有SPAN,将不会进行查找,这种写法仅用于查找子这一代
7、下一个兄弟选择器HTML代码:<h1></h1><span>1</span><span>2</span>Jquery获取对象:$("h1").next("span"),该用法只会查找到<span>1</span>的元素,即H1的下一个兄弟
8、同级选择器HTML代码:<h1></h1><span></span><p></p><a></a>Jquery获取对象:$("h1").nextAll(),获取h1的所有同级对象
9、选取第一个和最后一个选择器HTML代码:<p>段落1</p><p>段落2</p><p>段落3</p>Jquery获取对象:$("p:first")获取第一个P标签,$("p:last")获取最后一个P标签
10、取非选择器HTML代码:<div class="mydiv"></div><div class="demo"></div>Jquery获取对象:$("div:not(.mydiv)"),只会选择class为demo的对象
基本选择器:
基本选择器可以分为三种,分别为:标签选择器、类选择器、ID选择器、并集选择器、交集选择器和全局选择器。
层次选择器:
层次选择器有四种,分别为:后代选择器、子选择器、相邻选择器和同辈选择器,常用的是后代选择器和子选择器。
属性选择器:
用于选择包含给定属性的所有元素。
格式:$("selector[attribute]")
例: $("div[id]")
从文档中选择包含id属性的div元素。
过滤选择器:
过滤选择器可以使用元素的索引值,内容,属性,子元素位置,表单域属性以及可见性作为筛选条件获取相关元素。
基本过滤选择器:
根据索引值对元素进行筛选,类似于CSS的伪类选择器,以冒号(:)开头;并且要和另一选择器一起使用。
可见性过滤选择器:
jQuery选择器出了可以通过CSS选择器、位置选取元素等,还能通过元素的显示状态,即元素显示或隐藏来选取元素。
:visible:选取所有可见的元素。
:hidden:选取所有隐藏的元素。
jQuery重点注意事项
1)选择器中包含特殊符号
2)选择器中含有空格