Welcome

首页 / 脚本样式 / jQuery / jQuery选择器选择dom元素

jQuery选择器选择dom元素2011-04-15 BlogJava 你假笨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元素;

2. 利用css选择器进行选择:

元素标签名:比 如说$(”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;