jQuery的选择器们
1 >jQuery基本选择器
基本选择器是最常用的选择器,它是通过id和class和标签名来查找DOM元素
描述 示例
#id id选择器 $("#id")
element 元素选择器 $(".element")
.class 类选择器 $(".class")
* 匹配所有元素 $("*")
selector1,selector2,selectorN 将每一个选择器匹配到
的元素合并到一起 $("element,#id,.class")
2> jQuery层次选择器
如果想通过DOM元素间的层次关系 来获取特定元素,例如后代元素,子元素,相邻元素
兄弟元素等 需要使用层次选择器。(选取子元素的时候【父元素和子元素之间要有空格】)
$("ancestor descendant") 选取ancestor所有的后代元素
$("parent > child") 选取parent下的子元素与$("ancestor descendant")是有区别的
$("prev + next") 选取紧挨着prev元素后的的下一个next元素
$("prev ~ siblings") 选取prev元素后的所有 siblings元素(同辈的)
3> jQuery基本过滤选择器
过滤选择器主要是通过特定的过滤规则来筛选出所需要的DOM元素,该选择器都是以":"开头
:first 获取第一个元素 $("element:first")
:last 获取最后一个元素 $("element:last")
:not(selector) 去除所有与给定选择器匹配的元素 $("element:not(selector)")
:even 匹配所有索引值为偶数的元素 $("element:even")
:odd 匹配所有索引值为奇数的元素 $("element:odd")
:eq(index) 匹配一个给定索引值的元素 $("element:eq(index)")
:gt(index) 匹配所有大于给定索引值的元素 $("element:gt(index)")
:lt(index) 匹配所有小于给定索引值的元素 $("element:lt(index)")
:header 匹配如 h1, h2, h3之类的标题元素 $(":header")
:animated 匹配所有正在执行动画效果的元素 $(":animated")
:focus1.6+ 触发每一个匹配元素的focus事件。
4> jQuery内容过滤选择器
内容过滤选择器规则主要体现在它所包含的子元素或者文本内容上
:contains(text) 匹配包含给定文本的元素 $("element:contains(text)")
:empty 匹配所有不包含子元素或者文本的空元素 $("element:empty")
:has(selector) 匹配含有选择器所匹配的元素的元素 $("element:has(selector)")
:parent 匹配含有子元素或者文本的元素 $("element:parent")
5> jQuery可见性过滤选择器?
可见性过滤选择器是根据元素的可见和不可见状态来选择相应的元素
:hidden 匹配所有不可见元素 $(":hidden")或 $("element:hidden")
:visible 匹配所有的可见元素 $(":visible")或 $("element:visible")
6 > 属性过滤选择器
属性过滤选择器的过滤规则是通过元素的属性来获取相应的元素
[attribute] 获取拥有此属性的元素 $("element:[attribute]")
[attribute=value] 获取指定的属性的值为value的元素 $("element:[attribute=value]")
[attribute!=value] 获取指定的属性的值不为value的元素 $("element:[attribute!=value]")
[attribute^=value] 获取指定的属性的值以value开始的元素 $("element:[attribute^=value]")
[attribute$=value] 获取指定的属性的值以value结束的元素 $("element:[attribute$=value]")
[attribute*=value] 获取指定的属性的值含有value的元素 $("element:[attribute*=value]")
[attrSel1][attrSel2][attrSelN] 复合属性选择器,需要同时满足多个条件时使用 $("element:[attrSel1][attrSel2][attrSelN]")
7 > 子元素过滤选择器
此选择器是选择子元素的 (选取子元素的时候【父元素和子元素之间要有空格】)
:nth-child(index/even/odd/equation) 选取每个父元素下第index个子 $("element :nth-child(index/even/odd/equation)")
元素或者奇偶元素(index从1算起)
:first-child 选取每个父元素的第一个子元素 $("element :first-child")
:last-child 选取每个父元素的最后一个子元素 $("element :last-child")
:only-child 如果某个元素是父元素中唯一的子元素,
那将会被匹配 , 如果父元素中含 $("element :only-child")
有其他元素,那将不会被匹配。
8 > 表单选择器
:input 匹配所有 input, textarea, select 和 button 元素 $(":input")
:text 匹配所有的单行文本框 $(":text")
:password 匹配所有密码框 $(":password")
:radio 匹配所有单选按钮 $(":radio")
:checkbox 匹配所有复选框 $(":checkbox")
:submit 匹配所有提交按钮 $(":submit")
:button 匹配所有按钮 $(":button")
:image 匹配所有图像域 $(":image")
:reset 匹配所有重置按钮 $(":reset")
:file 匹配所有文件域 $(":file")
:hidden 匹配所有不可见元素,或者type为hidden的元素 $(":hidden")
9 > 表单对象属性过滤选择器
:enabled 匹配所有可用元素 $(":text:enabled")
:disabled 匹配所有不可用元素 $(":text:disabled")
:checked 匹配所有选中的被选中元素(复选框、单选框 $(":checkbox:checked")
等,不包括select中的option)
:selected 匹配所有选中的option元素(下拉菜单) $(":select :selected") //select后面要加个空格选择的不是 select, 而是 select 的 option 子节点