jQuery
本文列举了 jQuery 所有的选择器类型.
基本选择器
#idid 选择器
// id 选择器
$('#demo').css('border', '2px solid green')
element元素名选择器
// 元素名选择器
$('li').css('border', '2px solid orange')
.class class 选择器
// class 选择器
$('.box2').css('border', '2px solid red')
* 通配符选择器
// 通配符选择器
$('*').css('border', '2px solid pink')
selector1, selector2, selectorN 分组选择器
// 分组选择器
$('#demo, .box2, ul').css('border', '2px solid blue')
层级选择器
ancestor descendant 后代选择器
// 后代选择器
$('ul li').css('border', '2px solid yellow')
parent > child 直接子元素选择器
// 直接子元素选择器
$('ul > li').css('border', '2px solid purple')
prev + next 相邻兄弟选择器
// 相邻兄弟选择器
$('#demo + li').css('border', '2px solid green')
prev ~ sibings 后续兄弟选择器
// 后续兄弟选择器
$('#demo ~ li').css('border', '2px solid red')
基本筛选器
:first 选择指 定的元素是同级元素中的第一个的元素
// 选择指定的元素是同级元素中的第一个的元素
$('li:first').css('border', '2px solid red')
:not(selector) 在指定 的元素范围中排除元素
// 在指定的元素范围中排除元素
$('li:not(.box2)').css('border', '2px solid green')
:even 选择 指定的元素范围中为奇数行的元素
// 选择指定的元素范围中为奇数行的元素
$('li:even').css('border', '2px solid yellow')
:odd 选择 指定的元素范围中为偶数行的元素
// 选择指定的元素范围中为偶数行的元素
$('li:odd').css('border', '2px solid blue')
:eq(index) 选择 指定的元素范围中给定索引的元素(索引从 0 开始)
// 选择指定的元素范围中指定索引的元素(索引从0开始)
$('li:eq(0)').css('border', '2px solid purple')
:gt(index) 选择 指定的元素范围中大于给定索引值的元素
// 选择指定的元素范围中大于给定索引值的元素
$('li:gt(0)').css({ border: '2px solid orange', 'background-color': 'pink' })
:lt(index) 选择 指定的元素范围中小于给定索引值的元素
// 选择指定的元素范围中大于给定索引值的元素
$('li:lt(2)').css('border', '2px solid green')
:last 选择 指定的元素范围中的最后一个元素
// 选择指定的元素范围中的最后一个元素
$('li:last').css('border', '2px solid orange')
:lang() 选择 元素的属性 lang 为给定值的元素
// 选择元素的属性 lang 为给定值的元素
$('li:lang(en)').css('border', '2px solid pink')
:header 选择 所有的标题元素(h1 ~ h6)
// 选择所有的标题元素(h1 ~ h6)
$(':header').css({
border: '2px solid orange',
'background-color': 'pink'
})
:focus 过滤 出当前获取焦点的元素
:root 选择 该文档的根元素,即 元素
// 选择根元素
$(':root').css('background-color', 'pink')
:target 过滤出 锚点正在指向的元素
$(':target').css('border', '2px solid red')
:animated 获取 正在执行动画的元素
内容选择器
:contains(text) 获取 包含指定内容的元素
$("li:contains('2')").css('border', '2px solid orange')
:has(selector) 获取 后代元素拥有满足指定的选择器条件的元素
$("li:has('.box')").css('border', '2px solid yellow')
:empty 获取 既没有内容,又没有子元素的元素
$('li:empty').css('border', '2px solid orange')
:parent 获取 要么有内容,要么有子元素的元素(跟 empty 相反)
$('li:parent').css('border', '2px solid orange')
可见性选择器
:visible 选择 所有可见的元素
$(':visible').css('border', '2px solid orange')
:hidden 选择 所有不可见的元素
$(':hidden').css('border', '2px solid orange')
属性选择器
[attr] 选择 包含方括号中属性的元素
$('li[name]').css('border', '2px solid green')
[attr='value'] 选择 属性值为指定的值的元素
$("li[name='test']").css('border', '2px solid green')
[attr!='value'] 选择 属性值不为指定的值的元素
$("li[name!='test']").css('border', '2px solid green')
[attr^='v'] 选择 属性值为指定的字符开头的元素
$("li[name^='t']").css('border', '2px solid green')
[attr$='e'] 选择 属性值为指定的字符结尾的元素
$("li[name$='t']").css('border', '2px solid green')
[attr*='l'] 选择 属性值中包含指定的字符的元素
$("li[name*='t']").css('border', '2px solid green')
子元素选择器
:first-child 选择 是所有兄弟元素中的第一个的元素
$('li:first-child').css('border', '2px solid red')
:last-child 选择 是所有兄弟元素中的最后一个的元素(与 first-child 相反)
$('li:last-child').css('border', '2px solid orange')
:nth-child(n) 选择 是所用兄弟元素中第 n 个的元素(从前往后数)
$('li:nth-child(3)').css('border', '2px solid pink')
:nth-last-child(n) 选择 是所有兄弟元素中倒数第 n 个的元素(从后往前数,跟 nth-child 相反)
$('li:nth-last-child(3)').css('border', '2px solid yellow')
:only-child 选择 没有兄弟元素的元素
$('li:only-child').css('border', '2px solid green')
:first-of-type 选择 所有兄弟元素里面相同标签的第一个元素
$('li:first-of-type').css('border', '2px solid blue')
:last-of-type 选择 所有兄弟元素里面相同标签的最后一个元素
$('li:last-of-type').css('background-color', 'blue')
:nth-of-type(n) 选择 所有兄弟元素里面相同标签的第 n 个元素(从前往后数)
$('li:nth-of-type(3)').css('border', '2px solid red')
:nth-last-child(n) 选择 所有兄弟元素里面相同标签的倒数第 n 个元素(从后往前数)
$('li:nth-last-of-type(3)').css('background-color', 'green')
:only-of-type 选择 所有兄弟元素标签中没有相同标签的元素
$('li:only-of-type').css('border', '2px solid orange')
表单选择器
:input 选择 所有的表单元素 (input select testarea button ......)
$(':input').width(40).height(40).css('border', '1px solid red')
:text 选择 type 属性为 text 的 input 元素
$(':text').css('border', '1px solid green')
:password 选择 type 属性为 password 的 input 元素
$(':text').css('border', '1px solid green')
:radio 选择 type 属性为 radio 的 input 元素
$(':radio').width(100).height(100)
:checkbox 选择 type 属性为 checkbox 的 input 元素
$(':checkbox').width(100).height(100)
:file 选择 type 属性为 file 的 input 元素
$(':file').css('border', '2px solid orange')
:submit 选择 具有提交功能的按钮
$(':submit').css('border', '2px solid orange')
:reset 选择 具有重置功能的按钮
$(':reset').css('border', '2px solid red')
:button 选择 botton 标签、<input type='button'>
$(':button').css('border', '2px solid red')
表单对象选择器
:disabled 选择 所有禁用的表单元素
$(':disabled').css('background-color', 'orange')
:enabled 选择 所有启用的表单元素
$(':enabled').css('background-color', 'orange')
:checked 选择 默认选中的表单元素
$(':checked').width(100).height(100)
:selected 选中 默认选中的 option 元素
$(':selected').css('border', '2px solid orange')
混淆选择器
$.escapeSelecotr(selector) 用于选择 className 或 idName 是有特殊符号的
$('#' + $.escapeSelector('#item')).css('background-color', 'green')
