`
annqilee
  • 浏览: 2198 次
  • 性别: Icon_minigender_2
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

【转】jquery选择器

阅读更多
【转】jquery选择器


jQuery的语法结构如“$(谁).什么时候.(去做什么);”,那么如何在整个DOM里找到这个“谁”在哪里就是jQuery选择器要做的事情。大家会发现很多jQuery程序都是从选择器函数“$()”开始的,$()简化了javascript获取DOM元素的复杂性。下面就对jQuery选择器进行介绍。

jQuery选择器按照功能主要分“选择”和“过滤”。“过滤”作用的选择器是指定条件从冒号前面匹配的内容中进一步选择筛选。下面的选择器分类中,带有“过滤器”的分类表示“过滤”选择器。注有ps的表示个别应用或注意事项。

1.基础选择器
(1)选取ID,根据元素id选择,比如:$(“#id”),$(“.id”)
(2)选取element,所谓element就是html里存在的标签,如p,a,img…等等。
ps:$(“*”)选择页面所有元素。
2.层次选择器
(1)ancestor descendant(有从属关系的选取)与CSS的前后文选择器相同。如:$(“form input”),选中form中的所有input元素。
(2)parent > child与ancestor descendant的用法相同,如:$(“form > input”)
(3)prev + next表示完整的对象组件后的第一个指定名称的对象,如:$(“label+input”)即在<label></label>后的第一个不归属任何组件的input。
3.基本过滤器
(1):first或:last符合定义的第一个或最后一个对象。
(2):not(selector)表示排除符合定义以外的其他对象,如:$(“tr:not(:first)”)表示第一个tr以外的tr全部被选取。
(3):even或:odd符合定义的偶数或奇数索引值的对象,从0开始计数。
(4):eq(index)表示符合定义的第几个对象。
ps:$(‘tr:eq(‘+b+’)'),index为变量值时的写法。
(5):gt(index)或:lt(index)选择大于或小于给定索引值的对象。
(6):header 选择所有h1,h2,h3一类的header标签。
(7):animated 选择所有正在执行动画效果的对象。
4.内容过滤器
(1):contains(text) 匹配包含给定文本的对象,如:$(“div:contains(‘Try’)”)
(2):empty 匹配所有不包含子元素或者文本的空元素。
(3):has(selector) 匹配含有指定定义的对象。
(4):parent 匹配符合选取条件且包含文字内容的对象。如:$(“td:parent”)查找有文本的td元素。
5.可见性过滤器
(1):hidden 匹配所有的不可见元素。
(2):visible 匹配所有的可见元素。
6.属性过滤器
(1)[attribute] 匹配包含给定属性的元素,如:$(“div[id]“),查找所有含有 id 属性的 div 元素。
(2)[attribute=value] 匹配符合选取条件(属性与值)的元素。如:$(“td[@class = 'test']“),查找类名包含test的td元素。
(3)[attribute!=value] 匹配给定的属性是不包含某个特定值的元素。
(4)[attribute^=value] 匹配给定的属性是以某些值开始的元素,如:$(“input[name^='news']“)
(5)[attribute$=value] 匹配给定的属性是以某些值结尾的元素,如:$(“a[@href$='.pdf']“)查找超链接以’.pdf’结尾的a元素。
(6)[attribute*=value] 匹配给定的属性是以包含某些值的元素。
(7)[attributeFilter1][attributeFilter2][attributeFilterN] 复合属性选择器,需要同时满足多个条件时使用。
7.子元素过滤器
(1):nth-child(index/even/odd/equation) 匹配其父元素下的第N个子元素或奇偶元素。
ps:”:nth-child()”从1开始的,而”:eq()”是从0算起的。
(2):first-child 匹配第一个子元素。
ps: ‘:first’ 只匹配一个元素,而此选择符将为每个父元素匹配一个子元素。
(3):last-child 匹配最后一个子元素。
ps: ‘:last’只匹配一个元素, 而此选择符将为每个父元素匹配一个子元素。
(4):only-child 匹配父元素仅有一个子元素的对象。如:两个ul仅有第二个ul中含有唯一子元素li,$(“ul li:only-child”)将选取第二个ul中的li。
8.表单选择器
(1):input 匹配所有input, textarea, select 和 button 元素。查找所有的input元素。
(2):text 匹配input内类型为text的对象。
(3):password 匹配input内类型为password的对象。
(4):radio 匹配input内类型为radio的对象。
(5):checkbox 匹配input内类型为checkbox的对象。
(6):submit 匹配input内类型为submit的对象。
(7):image 匹配input内类型为image的对象。
(8):reset 匹配input内类型为reset的对象。
(9):button 匹配input内类型为button的对象。
(10):file 匹配input内类型为file的对象。
(11):hidden 匹配input内类型为hidden的对象。
9.表单过滤器
(1):enabled 匹配所有可用元素。 如:$(“input:enabled”)。
(2):disabled 匹配所有不可用元素。
(3):checked 匹配所有选中的被选中元素(复选框、单选框等,不包括select中的option)。
(4):selected 匹配所有选中的option元素。如: $(“select option:selected”)。

以上就是jQuery选择器的简要介绍,几乎包括了选择器的所有类型,具体应用实例可到官方网站 http://api.jquery.com/category/selectors/ 查看。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics