书本源码下载
jQuery选择器与CSS选择器的区别
二者写法十分相似,只不过二者的效果不同,CSS选择器找到元素后是添加样式,而jQuery选择器找到元素后是添加行为。jQuery中涉及操作CSS样式的部分比单纯的CSS功能更为强大,并且拥有跨浏览器的兼容性。
jQuery选择器具有完善的处理错误的机制
使用jQuery获取网页中不存在的元素也不会报错。
使用jQuery检查某个元素是否存在
方法一,根据获取到的元素的长度来判断:
if($("#tt").length>0){ //do something }
方法二,转化成DOM对象来判断:
if($("#tt")[0]){ //do something }
jQuery选择器
-
基本选择器
选择器 | 描述 |
#id | 根据给定的id匹配一个元素 |
.class | 根据给定的class名匹配元素 |
element | 根据给定的元素名匹配元素 |
* | 匹配所有元素 |
selector,selector1,....selectorN | 将每一个选择器匹配到的元素合并后一起返回 |
-
层次选择器
选择器 描述 $("ancestor descendant") 选取ancestor元素里的所有descendant元素 $("parent>child") 选取parent元素下的child元素 $("prev+next") 选取紧接在prev元素后的next元素 $("prev~siblings") 选取prev元素之后的所有siblings元素
-
过滤选择器
选择器
描述 :first 选取第一个元素 :last 选取最后一个元素 :not(selector) 去取所有与给定选择器匹配的元素 :even 选取索引是偶数的所有元素,索引从0开始 :odd 选取索引是奇数的所有元素,索引从0开始 :eq(index) 选取索引等于index的元素 :gt(index) 选取索引大于index的元素 :lt(index) 选取索引小于index的元素 :header
选取所有的标题元素 :animated 选取当前正在执行动画的所有元素 :focus 选取当前获取焦点的元素 -
可用性过滤器
选择器 描述 :hidden 选取所有不可见的元素 :visible 选取所有可见的元素 -
内容过滤选择器
选择器 描述 :contains(text) 选取含有文本内容为"text"的元素 :empty 选取不包含子元素或者文本的空元素 :has(selector) 选取含有选择器所匹配的元素的元素 :parent 选取含有子元素或者文本的元素 -
属性过滤选择器
选择器 描述 [attribute] 选取拥有此属性的元素 [attribute=value] 选取属性的值等于value的属性 [attribute!=value] 选取属性的值不等于value的元素 [attribute^=value] 选取属性的值以value开始的元素 [attribute$=value] 选取属性的值以value结束的元素 [attribute*=value] 选取属性的值含有value的元素 [attribute|=value] 选取属性等于给定字符串或者以该字符串为前缀的元素 [attribute~=value] 选取属性用空格分隔的值中包含一个给定的元素 [attribute1][attribute2]
[attributeN]
复合属性选择器
-
子元素过滤选择器
选择器 描述 :nth-child 选取每个父元素下的第index个子元素(index从1开始) :first-child 选取每个父元素的首个子元素 :last-child 选取每个父元素的最后一个子元素 :only-child 如果某个元素是他父元素的唯一的子元素,将会被匹配
-
表单对象属性过滤选择器
选择器 描述 :enabled 选取所有可用元素 :disabled 选取所有不可用的元素 :checked 选取所有被选中的元素 :selected 选取所有被选中的选项元素
-
表单选择器
选择器 描述 :input 选取所有的<input><textarea><select><button>元素 :text 选取所有的当行文本框 :password 选取所有的密码框 :radio 选取所有的单选框 :checkbox 选取所有的多选框 :submit 选取所有提交按钮 :image 选取所有的图像按钮 :reset 选取所有的重置按钮 :button 选取所有的按钮 :file 选取所有的上传域 :hidden 选取所有不可用元素
选择器中的注意事项
- 选择器中含有"."、"#"、"("、")"等特殊字符,应该使用转义符转义。
- 1.3.1以前的版本需要在属性前添加@符号。
- 注意空格,注意空格,注意空格。