jQuery选择器实际上是一个有些地方比较费解的,若是没有通过屡次实验的话,很可贵出它的每一个操做符究竟是干什么的,很容易出错,通过 个人屡次测试,终于对一些比较难理解或容易出错的选择操做进行总结,既方便本身未来查询又方便初学者学习。若是哪里有不对的还望你们帮我指出来,这里是一 个相互学习的地方。 1. 先说说经过位置选择的几个操做:
:first:默认状况下是相对整个页面来讲的第一个,如:li:first表示整个页面的第一个li元素,而ul li:first表示整个页面的第一个li元素,而且是在ul下的子元素; :last:同上了,只是是最后一个而已; :first- child:为每一个父元素匹配第一个子元素,如li:first-child返回每一个ul的第一个li元素。能够这样理解,页面中的元素有相同的父元素 的,而且里面又包含li元素的,那么就取第一个li元素,每一个子类集合都要进行判断,直到找出全部符合要求的li元素; :last-child:这个也与上面相对了,只是取的是最后一个; :only- child:返回全部没有兄弟节点的元素,注意,文本元素不是,也就是说相似这样的<div>hello<a href="">jquery</a></div>,对于这段会选出<a>元素;对 于$(”label:only-child“)会选出是label元素,同时它是它父类惟一的子元素的label元素; :nth-child(n):返回第n个子节点,n从1开始,若是n取0,那么就会选择全部的元素。如:[*]li:nth-child(2)返回li元素,而且该元素是其父元素的第二个子元素; :nth-child(even|odd):返回偶数或奇数的子节点; :nth-child(An+B):返回知足表达式An+B的全部子节点,好比3n+1返回所处位置为父节点子元素的是3的倍数加1的那个子元素; :even:页面范围内的处于偶数位置的元素,如:li:even返回所有偶数li元素; :odd:页面范围内的处于奇数位置的元素; :eq(n):第n个匹配的元素(n从0开始),如:li:eq(3)返回整个页面的第四个li元素,ul li:eq(1)返回页面中第一个ul元素下的第二个li元素,注意:只匹配一次就返回了; :gt(n):第n个匹配元素(不包括)以后的元素(n从0开始),如:ul:gt(2)返回从第3个ul开始的全部ul元素(含第三个); :lt(n):第n个匹配元素(不包括)以前的元素(n从0开始),如:ul:lt(2)返回从第0个和第1个ul元素;css
2. 利用css选择器进行选择: jquery
元素标签名:好比说$(”a“)会选出全部连接元素; #id:经过元素id进行选择,好比说$("#form1")会选择id为form1的元素; .class:经过元素的CSS类来选择,好比说$(".boldstyle")会选择CSS为boldstyle类的元素; 标签 名#id.class:经过某类元素的id属性和class属性来选择,如:$(a#blog.boldStyle)会选择id为blog而且CSS类型 为.boldStyle类型的连接元素(<a id='blog' class='.boldStyle'>); 父标签名 子标签名.class:经过选择父标签下的某种CSS类型的子元素,如:$(p a.redStyle)会选择p段落元素中的连接子元素a,且其css类型为.redStyle;学习
3. 经过子选择器,容器选择器和属性选择器进行选择: 测试
*:匹配全部的元素,好比说:$(*)会把页面中的全部元素都返回; E:匹配标签名为E的全部元素,如$("a")返回全部连接元素; E F:匹配父元素E下的标签名为F的全部子元素(F能够为E的子类的子类,甚至更远); E>F:匹配父元素E下的全部标签名为F的直接子元素; E+F:匹配全部标签名为F的元素,而且有E类型的兄弟节点在该F元素以前(E,F紧挨着); E~F:匹配前面是任何兄弟节点E的全部元素F(E,F没必要紧挨着); E:has(F):匹配标签名为E,至少有一个标签名为F的后代节点的全部元素E; E.C:匹配带有类名C的全部元素E。.C等效于*.C; E#I:匹配id为I的全部元素E,#I等效于*#I; E[A]:匹配带有属性A的全部元素E; E[A=V]:匹配全部属性A的值为V的元素E; E[A^=V]:匹配全部元素E,且A的属性值是V开头的; E[A$=V]:匹配全部元素E,且A的属性值是V结尾的; E[A*=V]:匹配全部元素E,且A的属性值中包含有V;orm
4.利用jQuery自定义的选择器进行选择: blog
:button:选择任何按钮类型的元素,包括input[type=submit]等等; :checkbox:选择复选框元素; :file:选择全部文件类型元素,即input[type=file]; :image:选择表单中的图像元素,即input[type=image],注意此处和前面根据标签名img选择图像有点不一样哈; :input:选择表单元素,如<input>,<select>,<textarea>,<button>等; :radio:选择单选按钮元素; :reset:选择复位按钮元素,如input[type=reset],button[type=reset]; :submit:选择提交按钮元素; :text:选择文本字段元素,即input[type=text]; :animated:选择当前处于动态控制下的元素; :contains(hello):选择包含文本hello的元素; :header:选择标题元素,如<h1>; :parent:选择拥有后代节点(包括文本)的元素,而排除空元素; :selected:选择已选中的选项元素; :visible:选择可见元素; :enable:选择界面上已经可使用的表单元素; :disabled:选择界面上被禁用的表单元素; :checked:选择已选中的复选框或单选按钮;input