继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

JQuery选择器总结

墨色风雨
关注TA
已关注
手记 300
粉丝 75
获赞 350

1. #id     "#"不能丢
     -> 概述:根据给定的ID匹配一个元素
                    如果元素中包含特殊字符,可以用"\\"转义 -> 用两个斜杠,而不是一个
     -> 模板:$('#xxx')     如果ID中有特殊字符(例如:id="foo[name]")-> $('foo\\[name\\]') 
2. element 元素名
     -> 概述:根据给定的元素名匹配所有元素     注意:所有的元素
     -> 模板:$('div') $('p') ......
3. .class
     -> 概述:根据给定的类匹配元素
     -> 模板:$('.cls')     -> 注意:"."不能少,如果少了就相当于元素匹配了,而又没有这样的匹配对象,返回object,没意义

4. *
     -> 概述:匹配所有元素
     -> 模板:$('*')          -> 返回的元素包括从<html></html>(含此标签)中的所有标签元素
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选择器......

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP