1. #id "#"不能丢
-> 概述:根据给定的ID匹配一个元素
如果元素中包含特殊字符,可以用"\\"转义 -> 用两个斜杠,而不是一个
-> 模板:$('#xxx') 如果ID中有特殊字符(例如:id="foo[name]")-> $('foo\\[name\\]')
2. element 元素名
-> 概述:根据给定的元素名匹配所有元素 注意:所有的元素
-> 模板:$('div') $('p') ......
3. .class
-> 概述:根据给定的类匹配元素
-> 模板:$('.cls') -> 注意:"."不能少,如果少了就相当于元素匹配了,而又没有这样的匹配对象,返回object,没意义
4. *
-> 概述:匹配所有元素
-> 模板:$('*') -> 返回的元素包括从(含此标签)中的所有标签元素
5. 组合选择器(selector1,selector2,....selectorN)
->概述:将每一个选择器匹配到的元素组合返回 ,即选择器之间是或者的关系
->模板:$('div,span,p.cls') -> 返回div,span标签元素,还有class属性值为"cls"的p标签元素
6. ancestor[祖先] descendant[后裔]匹配模式
-> 概述:在祖先类下面匹配所有元素(包括子类,子子类......)
-> 模板:$('form input') -> 匹配form表单下的所有input标签元素
7. parent>child
-> 概述:匹配父类下的所有子类元素(只是子类而已,没有子子类)
-> 模板:$('form>input')
8. prev+next
-> 概述:匹配所有紧接在 prev 元素后的 next 元素(紧挨:下一个元素)
-> 模板:$('label+input') -> label元素的下面一定要是input元素才能获取到
9. prev~siblings
-> 概述:匹配prev元素后面的所有sibling元素(sibling和prev是同级的)
-> 模板:$('form~input')
上述属于初级匹配,如果还需要获得更加精确的比较,需要用到过滤器,如下:
1. :first
-> 概述:获得匹配到的第一个元素
-> 模板:$('li:first')
2. :last
-> 概述:获取匹配到的最后一个元素
-> 模板:$('li:last')
3. :not(selector)
-> 概述:去除所有与selector先匹配的元素
-> 模板:$('input:not(:checked)') -> 从匹配到的input标签中去除被选中的标签元素
4. :checked
-> 概述:匹配所有被选中的元素
-> 模板:$('input:checked')
5. :even
-> 概述:匹配所有索引值为偶数的元素,注意索引值以0计数
-> 模板:$('tr:even') -> 获得表格的奇数行
5. :odd
-> 概述:匹配所有索引值为奇数的元素,注意索引值以0计数
-> 模板:$('tr:odd') -> 获得表格的偶数行
6. (1):eq(index)
-> 概述:匹配一个给定索引值的元素
-> 模板:$('tr:eq(2)') -> 返回表格行索引值为2的元素
(2):gt(index)
-> 概述:匹配一个大于给定索引值的元素
-> 模板:$('tr:gt(2)') -> 返回表格行大于索引值为2的元素
(3):lt(index)
-> 概述:匹配一个小于给定索引值的元素
-> 模板:$('tr:lt(2)') -> 返回表格行小于索引值为2的元素
7. :header
-> 概述:匹配如 h1,h2,h3之类的标题元素
-> 模板:$(':header')
8. :animated
-> 概述:匹配正在执行动画效果的元素
-> 模板:$('div:not(:animated)') -> 匹配不在执行动画效果的元素
9. :contains(text)
-> 概述:匹配包含给定文本的元素
-> 模板:$('div:contains(...)') ->...表示字符串,需要用双引号引起
10. :empty
-> 概述:匹配所有不包含子元素或者文本的空元素
-> 模板:$('td:empty') -> 返回不包含子元素或者文本的td
11. :has(selector)
-> 概述:匹配选择器所匹配元素的元素
-> 模板:$('div:has(p)') ->匹配所有包含p标签的div元素
12. :parent
-> 概述:匹配含有子元素或者文本的元素
-> 模板:$('td:parent')
13. :hidden
-> 概述:匹配所有不可见元素,或者type为hidden的元素
-> 模板:$('tr:hidden') -> 可以匹配到display:none的tr元素
$('input:hidden') -> 可以匹配到type="hidden"的input元素
14. :visible
-> 概述:匹配所有可见元素
-> 模板:$('tr:visible')
15. :enabled
-> 匹配所有可用元素 $(':enable')
16. :disabled
-> 匹配所有不可用的元素 $(':disabled')
17 :selected
-> 匹配所有选中的option元素 $('select option:selected')
18. :nth-child
-> 概述:匹配其父元素下的第N个子或奇偶元素 (注意:这里的N不是索引值)
-> 模板:$('ul li:nth-child(2)') -> 返回每一个ul元素列表中第2个的li元素
和:eq(index)的区别是:eq(index) 只返回第一个匹配到的ul的索引值为index的li元素
19. :first-child
-> 概述:匹配第一个子元素
-> 模板:$('ul li:first-child')
与:first的区别::first只匹配一个元素,:first-child可以匹配多个ul中的第一个li
:last-child
-> 概述:匹配最后一个子元素
-> 模板:$('ul li:last-child')
与:last的区别::last只匹配最后一个元素 :last-child可以匹配多个ul中的最后一个li
:only-child
-> 概述:如果某个元素是父元素中唯一的子元素,那将会被匹配;如果父元素中含有其他元素,那将不会被匹配。
-> 模板:$('ul li:only-child') 返回只有ul中只有一个li的li元素
1. (1)[attribute]
匹配包含给定属性的元素 $('div[id]')
(2)[attribute=value]
匹配包含给定属性,且属性值为value的元素 $('div[id="..."]')
(3)[attribute!=value]
匹配所有不含有指定的属性,或者属性不等于特定值的元素 $('div[id!="...."]')
(4)[attribute^=value]
匹配给定的属性是以某些值开始的元素 $('div[id^="name"]') -> id中以字符串"name"开头
(5)[attribute$=value]
匹配给定的属性是以某些值结尾的元素 $('div[id$="name"]') -> id中以字符串"name"结尾
(6)[attribute*=value]
匹配给定的属性是以包含某些值的元素 $('div[id*="name"]') -> id中包含字符串"name"
(7)[selector1][selector2]...[selectorN]
匹配满足多个条件 $('div[id][name^="n"][name$="m"]') -> 有id属性的,且name中以"n"开头,以"m"结尾的div元素
18. (1):input
-> 概述:匹配所有 input,textarea,select 和 button 元素 模板:$(':input')
(2):text
-> 概述:匹配所有的单行文本框 -> 模板:$(':text') -> 貌似只有type="text"符合要求
(3):password
-> 概述:匹配所有密码框 -> 模板:$(':password')
(4):radio
-> 匹配所有单选按钮 $(':radio')
(5):checkBox
-> 匹配所有复选框 $(':checkBox')
(6):submit
-> 匹配所有提交按钮 $(':submit')
(7):image
-> 匹配所有图像域 $(':image')
(8):reset
-> 匹配所有重置按钮 $(':reset')
(9):button
-> 匹配所有按钮,不包括reset和submit $(':button')
(10):file
-> 匹配所有文件域 $(':file')
Wolfy系列笔记之jquery选择器......
原文链接:https://www.f2er.com/jquery/191589.html