选择器是JQuery一大特色,所有的DOM操作、事件操作、Ajax操作都离不开选择器。熟练掌握JQuery的选择器,可以节省很多代码,很大程序上简化我们的脚本编程工作。 
JQuery的选择器很类似于样式表的选择器。

JQuery选择器的特点: 
1.简化代码编写 
$("#标记ID")相当于document.getElementById("标记ID"),是通过元素id来获取元素对象。 
$("标记名称")相当于document.getElementByTagName("标记名称"),是通过元素名称来获取元素组。

2.隐式迭代 
$("标记名称").css("background-color","red"); 
“$("标记名称")”代表页面中一组元素; 
$("标记名称").css("background-color","red")则是为这组元素中每个元素的样式都加上红色背景。 
JQuery自动迭代每个元素,这就免去了我们编写代码编历每个元素对象的操作了。

3.无需判断对象是否存在 
如果页面上不存在id为test的DOM 元素,$("#test").css("background-color","red")不会产生任何异常,而document.getElementById("test").style.backgroundColor='red'就会产生未找到对象的异常。

JQuery选择器的分类:基本选择器,层次选择器,过滤选择器,表单选择器

一、基本选择器: 
1. #ID选择器:根据给定的ID匹配一个元素 
$("#one")选取id为one的元素 
$("#one").css("background","#bbffaa");

《图1》

2. .class选择器:根据class名选择匹配的元素 
$(".mini")选取class为mini的元素 
$(".mini").css("background","#bbffaa");

《图2》

3.标签选择器:根据标签名选择元素 
$("div")选取所有div元素 
$("div").css("background","#bbffaa");

《图3》

4.*选择器:选择所有的元素 
$("*")选取所有的元素 
$("*").css("background","#bbffaa");

《图4》 
(包括body在内的所有元素)

5.selector1,selector2,selector3...selectorN :返回指定选择器的元素 
$("span,#two")选取所有的span标签元素和id=two的元素。 
$("span,#two").css("background","#bbffaa");

《图5》

二、层次选择器 
1.$("ancestor descendant"):选取ancestor元素后所有的descendant元素: 
$("body div"):选取body元素下所有的div元素 
$("body div").css("background","#bbffaa");

《图6》 
(外层的DIV 和内层的DIV一起都被选中,即页面body中的有的DIV一起被选中)

2.$("parent > child"):选取parent元素下的第一级child。 
$("body > div"):选取body元素下所有的div元素 
$("body > div").css("background","#bbffaa");

《图7》 
(只选择body下第一级DIV元素)

三、过滤选择器 
(一)基本过滤 
1. :fist选取第一个元素 
$("div:first"):选取所有div中的第一个 
$("div:first")..css("background","#bbffaa");

《图8》

2. :last选取最后一个元素 
$("div:last"):选取所有div中的最后一个 
$("div:last").css("background","#bbffaa");

《图9》

3. :not(selector)除去指定的选择器外的元素 
$('div:not(.one)'):选取class不是.one的div元素 
$('div:not(.one)').css("background","#bbffaa");

《图10》

4. :even选取索引号是偶数的元素(索引从0开始) 
$('div:even'):选取索引号是偶数项的div元素 
$('div:even').css("background","#bbffaa");

《图11》

5.dd选取索引号是奇数的元素(索引从0开始) 
$('div:odd'):选取索引号是奇数项的div元素 
$('div:odd').css("background","#bbffaa");

《图12》

6. :eq(index)选取第index个元素(索引从0开始) 
$('div:eq(3)'):选择 索引等于 3 的元素 
$('div:eq(3)').css("background","#bfa");

《图13》

7. :gt(index)选取索引号大于index的元素(索引从0开始) 
$('div:gt(3)'):选择 索引大于 3 的元素 
$('div:gt(3)').css("background","#bfa");

《图14》

8. :lt(index)选取索引号小于index的元素(索引从0开始) 
$('div:lt(3)'):选择 索引小于 3 的元素 
$('div:lt(3)').css("background","#bfa");

《图15》

9. :animated选取当前正在执行动画的元素 
$(':animated'):选择 当前正在执行动画的所有元素. 
$(':animated').css("background","#bfa");

《图16》

(二)内容过滤 
10. :contains(text)选取包含文本text的元素 
$('div:contains(di)'):选取含有文本"di"的div元素. 
$('div:contains(di)').css("background","#bbffaa");

《图17》

11. :has(selector)选取含有选择器所匹配的元素的元素 
$('div:has(.mini)')选取含有class为mini元素 的div元素. 
$('div:has(.mini)').css("background","#bbffaa");

《图18》

12. :empty选取不包含子元素(包括文本元素)的元素 
$('div:empty'):选取不包含子元素(或者文本元素)的div空元素. 
$('div:empty').css("background","#bbffaa");

《图19》

13. :parent选取包含子元素(包括文本元素)的元素 
$('div:parent'):选取含有子元素(或者文本元素)的div元素. 
$('div:parent').css("background","#bbffaa");

《图20》

(原创:灰灰虫的家http://hi.baidu.com/grayworm) 
(三)可见性过滤 
14. :hidden选取所有不可见元素,包括<input type='hidden'>,<div style="display:none">,<div style="visibility:hidden"> 
$('div:visible'):选取所有可见的元素. 
$('div:visible').css("background","#FF6500");

《图21》

15. :visible选取所有可见元素 
$('div:hidden'):选取所有不可见的元素.包括<input type="hidden"/>. 
$('div:hidden').show(3000).css("background","#bbffaa");

《图22》

(四)属性过滤 
16. :[attribute]选取拥有此属性的元素 
$('div[title]'):选取含有 属性title 的div元素. 
$('div[title]').css("background","#bbffaa");

《图23》

17. :[attribute=value]选取属性值为value的元素 
$('div[title=test]'):选取 属性title值等于 test 的div元素 
$('div[title=test]').css("background","#bbffaa");

《图24》

18. :[attribute!=value]选取属性值不为value的元素 
$('div[title!=test]'):选取 属性title值不等于 test 的div元素 
$('div[title!=test]').css("background","#bbffaa");

《图25》

19. :[attribute^=value]选取属性值以value开始的元素 
$('div[title^=te]'):选取 属性title值 以 te 开始 的div元素 
$('div[title^=te]').css("background","#bbffaa");

《图26》

20. :[attribute$=value]选取属性值以value结尾的元素 
$("div[title$=est]"):选取 属性title值 以 est 结束 的div元素 
$("div[title$=est]").css("background","#bbffaa");

《图27》

21. :[attribute*=value]选取属性值含有value的元素 
$("div[title*=es]"):选取 属性title值 含有 es 的div元素 
$("div[title*=es]").css("background","#bbffaa");

《图28》

22. :[selector1][selector2]...[selectorN]选取同时满足select1至selectorN的元素 
$("div[id][title*=es]"):组合属性选择器,首先选取有属性id的div元素,然后在结果中 选取属性title值 含有 es 的元素 
$("div[id][title*=es]").css("background","#bbffaa");

《图29》

(五)子元素过滤 
23. :nth-child(index/even/odd)选取每个父节点下第index个子元素、偶数元素或奇数元素。 
$('div.one :nth-child(2)'):选取每个父元素下的第2个子元素 
$('div.one :nth-child(2)').css("background","#bbffaa");

《图30》

24. :first-child选取每个父元素下的第一个子元素 
$('div.one :first-child'):选取每个父元素下的第一个子元素 
$('div.one :first-child').css("background","#bbffaa");

《图31》

25. :last-child选取每个父元素下的最后一个子元素 
$('div.one :last-child'):选取每个父元素下的最后一个子元素 
$('div.one :last-child').css("background","#bbffaa");

《图32》

26.nly-child选取只有一个子元素的元素。 
$('div.onenly-child'):如果父元素下的仅仅只有一个子元素,那么选中这个子元素 
$('div.onenly-child').css("background","#bbffaa");

《图33》

(六)表单对象属性过滤 
27. :enabled选取所有可用的元素 
$("#form1 input:enabled") :选取所有可用元素 
$("#form1 input:enabled").val("这里变化了!");

《图34》

28. :disabled选取所有不可用的元素 
$("#form1 input:disabled"):选取所有不可用元素 
$("#form1 input:disabled").val("这里变化了!");

《图35》

29. :checked选取所有被选中的元素(radio,checkbox中的checked) 
$("input:checked"):选取所有被选中的元素(单选按钮和复选框)

30. :selected选取被选中的选项元素(select中的option=selected) 
$("select :selected"):选取所有被选中的列表项 
如: 
$("select :selected").each(function () { 
str += $(this).text() + ","; 
}); 
编历每个选中项,并把项的内容拼接到字符串str中。

四、表单选择器 
1. :input选取所有的<input><textarea><select><button>等表单元素 
2. :text选取所有的单行文本框 
3. :password选取密码框 
4. :radio选取所有的单选按钮 
5. :checkbox选取所有的复选框 
6. :submit选取所有的提交按钮 
7. :image选取所有的图片按钮 
8. :reset选取所有的重置按钮 
9. :button按钮所有的按钮 
10. :file选取所有的上传域 
11. :hidden选取所有的不可见元素(前面讲过“过滤选择器-14”)

jq入门--选择器的更多相关文章

  1. JQ基本选择器

    JQ选择器采用CSS和Xpath选择器语法规范,满足用户在DOM中快速匹配元素或元素集合. 1.JQ支持CSS1.CSS2.CSS3.不同版本的所有选择器,而早期的很多浏览器并没有完全支持CSS3版本 ...

  2. day 38 jq 入门 学习(一)

    前情提要: jq是简化版本的js 可以把很多很复杂的js 提炼让前端代码更好写 一:jq的使用 <!DOCTYPE html> <html lang="en"&g ...

  3. js,jq,css选择器

    js获取节点: var chils= s.childNodes; //得到s的全部子节点 var par=s.parentNode; //得到s的父节点 var ns=s.nextSbiling; / ...

  4. JQ入门学习实战演练

    选择器是JQuery一大特色,所有的DOM操作.事件操作.Ajax操作都离不开选择器.熟练掌握JQuery的选择器,可以节省很多代码,很大程序上简化我们的脚本编程工作. JQuery的选择器很类似于样 ...

  5. JQuery(一)---- JQ的选择器,属性,节点,样式,函数等操作详解

    JQuery的基本概念 JQuery是一个javascript库,JQuery凭借着简洁的语法和跨平台的兼容性,极大的简化了js操作DOM.处理事件.执行动画等操作.JQuery强调的理念是:'wri ...

  6. jQ not()选择器 与 css3 :not( selector )选择器

    1.jQ  not() 2.css3 not  w3c在线演示地址  http://www.w3school.com.cn/tiy/t.asp?f=css_sel_not 总结: 注意两者还是有区别的 ...

  7. jq初始,选择器,事件,内容操作,样式操作

    jq操作页面文档http://jquery.cuishifeng.cn/ jq初始 <!DOCTYPE html> <html> <head> <meta c ...

  8. jq序 选择器

    1.库和框架 库:小而精 直接操作DOM css() jquerry封装js的那些操作: 事件,属性, ajax(交互的技术),DOM,选择器 框架:大而全  事件,DOM,属性操作,ajax,&qu ...

  9. jq层次选择器

    二. 层次选择器 1. parent > child(直系子元素) $(document).ready(function () { // 选取div下的第一代span元素,将字体颜色设为红色 $ ...

随机推荐

  1. 《Javascript权威指南》13号学习笔记:使用日期和时间

    一.创Date示例 1.Date类的方法和属性是非常不静,故,申请书Date属性和方法之前.必须创建Date类的实例. var date = new Date();  //以当前日期和时间创建实例. ...

  2. POJ--2391--Ombrophobic Bovines【分割点+Floyd+Dinic优化+二分法答案】最大网络流量

    联系:http://poj.org/problem?id=2391 题意:有f个草场,每一个草场当前有一定数目的牛在吃草,下雨时它能够让一定数量的牛在这里避雨,f个草场间有m条路连接,每头牛通过一条路 ...

  3. Cocos2d-x 手机游戏《疯狂的蝌蚪》资源 “开源” win32+安德鲁斯+iOS三合一

    郝萌主倾心贡献,尊重作者的劳动成果,转载请注明出处 From郝萌主. 假设文章对您有所帮助.欢迎给作者捐赠,支持郝萌主,捐赠数额任意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载 ...

  4. 必须掌握的八个cmd命令

    原文:必须掌握的八个cmd命令 一.ping 它是用来检查网络是否通畅或者网络连接速度的命令.作为一个生活在网络上的管理员或者黑客来说,ping命令是第一个必须掌握的DOS命令,它所利用的原理是这样的 ...

  5. 移动web点5像素的秘密(转)

    最近和一个朋友聊天,朋友吐露了工作上的一些不开心,说自己总是喜欢跟别人比较,活得比较累,这种感觉大部分人经历过,往往觉得是自己心态不好,其实不然,这是人性,此时应该快速摆脱这种状态,想到DOTA大9神 ...

  6. poj 2482 Stars in Your Window(扫描线)

    id=2482" target="_blank" style="">题目链接:poj 2482 Stars in Your Window 题目大 ...

  7. Flex TextInput 动态推断输入内容

    Flex TextInput 动态推断输入内容 <? xml version="1.0" encoding="utf-8"?> <s:Appl ...

  8. 对“demo!demo.Index+HookProc::Invoke”垃圾收集的类型已委托回调。这可能会导致应用程序崩溃、损坏和数据丢失。当传递委托给非托管代码,托管应用程序必须让这些委托保持活着

    对"demo!demo.Index+HookProc::Invoke"垃圾收集的类型已委托回调.这可能会导致应用程序崩溃.损坏和数据丢失.当传递委托给非托管代码,托管应用程序必须承 ...

  9. Git合并多个Commit

    当前有四个commit,现在要将四个commit合并为一个,可以使用git rebase -i HEAD~{这里是要合并的commit数量} 如 git rebase -i HEAD~4 ,即为合并最 ...

  10. 开源 自由 java CMS - FreeCMS2.0 签字

    项目地址:http://www.freeteam.cn/ 会员注冊 打开浏览器,输入http://localhost:8080/register.jsp. 输入注冊信息后点击"注冊" ...