`
石头的日记
  • 浏览: 201453 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类

jq入门--选择器

阅读更多
JQuery霹雳:二、选择器
2010年01月08日 星期五 09:21
(原创:灰灰虫的家http://hi.baidu.com/grayworm)
选择器是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”)

参考书籍:《锋利的JQuery》
(原创:灰灰虫的家http://hi.baidu.com/grayworm)
分享到:
评论

相关推荐

    JQ.docx(jquery入门知识)

    jQuery 社区提供了大量插件,扩展了其核心功能,如表单验证、轮播图、日期选择器等。使用插件时,只需引入插件文件并调用相应的插件方法即可。 总之,jQuery 是一个强大的 JavaScript 库,简化了网页开发中的许多...

    JQ入门篇帮助你学习

    JQuery 选择器是其强大功能的一部分,它们基于CSS选择器,但提供了更丰富的功能。JQuery 选择器用于选取HTML文档中的元素,如元素选择器(选取所有指定类型的元素)、ID选择器(选取具有特定ID的元素)和类选择器...

    jQuery日期时间选择器插件

    而jQuery日期时间选择器插件是jQuery生态中的一个重要组成部分,它为用户提供了友好的界面,使得用户可以方便地输入或选择日期和时间,从而提升网站的用户体验。 jQuery日期时间选择器插件通常包括以下主要功能: ...

    js-jq-ajax-grigliaquad:Ajax第一步

    综上所述,"js-jq-ajax-grigliaquad:Ajax第一步" 是一个涵盖JavaScript基础、jQuery用法、Ajax通信、HTML结构以及可能涉及响应式设计和性能优化的Web开发教程,适合初学者学习网页动态数据加载的入门实践。

    jquery-country-select:jQuery 国家选择器插件

    jQuery Country Select 是 jQuery 的“国家/地区选择器/选择器”插件,它使用所有可用国家/地区填充选择下拉列表并确保选择正确的值。 该插件在不进行任何样式更改的情况下填充下拉列表,使其与大多数任何 UI 样式...

    jquery-easyui-EDT-1.4.2-build1.rar 包含中文文档

    selector 是jQery对象选择器。 plugin 是插件的名称。 method 是相应插件现有的方法。 parameter 是参数对象,可以是一个对象、字符串等。 所有方法都定义在jQuery.fn.{plugin}.methods。每个方法都有2个参数:jq和...

    js css jq api文档.zip

    1. "shouce_css101"可能是一个关于CSS的基础教程,"101"通常表示入门级别,可能包含CSS的基本选择器、属性、盒模型、布局方式等内容。 2. "javascriptJS"很可能包含了JavaScript的全面指南,包括变量、数据类型、...

    15天学会JQ

    2. **选择器**:学习jQuery的选择器语法,如ID选择器、类选择器、元素选择器等,以及更高级的选择器如后代选择器、兄弟选择器和属性选择器,用于精确选取DOM元素。 3. **DOM操作**:掌握如何使用jQuery来添加、删除...

    学生狗新手入门的前端网页,html+css+js+jq

    例如,使用jQuery的`$(document).ready()`函数可以在页面加载完成后执行代码,`$(".selector").click(function() {...})`可以监听某个类选择器的点击事件。jQuery的动画API如`.slideUp()`和`.fadeIn()`让创建动态...

    jquery入门—选择器实现隔行变色实例代码

    在本文中,我们将深入探讨jQuery选择器及其在实现网页元素隔行变色功能中的应用。jQuery选择器是jQuery库的核心部分,它极大地简化了DOM(文档对象模型)元素的选取和操作,使得开发者能够更加高效地操纵网页内容。 ...

    Java软件开发实战 Java基础与案例开发详解 20-2 网络版JQ 共10页.pdf

    3-1 java语言基础入门 3-2 数据的分类 3-3 标识符、关键字和常量 3-4 运算符 3-5 表达式 3-6 顺序结构和选择结构 3-7 循环语句 3-8 跳转语句 3-9 MyEclipse工具介绍 3-10 java基础知识章节练习 4-1 一维数组 4-2 ...

    jq文件初学者介绍

    jQuery的核心特性包括选择器、DOM操作、事件处理、动画和Ajax。 ### 2. jQuery的选择器 jQuery的选择器借鉴了CSS,使得在JavaScript中选取DOM元素变得更加简单。例如,`$("#id")`用于选取ID为指定值的元素,`$("....

    【JavaScript源代码】一篇文章带你入门和了解Jquery的基础操作.docx

    【JavaScript源代码】这篇文章主要介绍了JavaScript的库——jQuery的基础操作,包括如何引入jQuery库、jQuery对象与JavaScript对象的转换、jQuery的基本选择器、层级选择器、过滤选择器、属性选择器以及文档处理方法...

    JQUERY入门书籍

    jQuery的选择器与CSS选择器类似,但功能更加强大。例如,你可以使用`$("#id")`来选取ID为"id"的元素,`$(".class")`选取所有class为"class"的元素,`$("tag")`选取所有特定标签的元素。 ## 三、jQuery DOM操作 1. ...

    jQuery中文入门指南+中文api

    1. **选择器**:jQuery的选择器功能强大,它借鉴了CSS的选择器,可以轻松地选取DOM元素,如`$("#id")`选择ID为id的元素,`$(".class")`选择所有class为class的元素。 2. **DOM操作**:jQuery提供了一套简洁的API来...

    jquery 入门帮助.pdf

    1. **选择器:** jQuery提供了强大的选择器,允许开发者轻松地选取DOM中的元素。这些选择器类似于CSS选择器,但功能更为强大,支持链式调用和复杂的条件过滤。 2. **遍历方法:** jQuery的遍历方法使得在DOM树中...

    js、jq课件

    5. jQuery入门:jQuery的选择器、DOM操作、事件处理、动画效果。 6. jQuery进阶:AJAX使用、插件机制、性能优化技巧。 7. 实战项目:利用JavaScript和jQuery实现常见网页交互,如表单验证、下拉菜单、轮播图等。 ...

    jQuery 教程 源码+实例+注释 [新手入门提高速成].zip

    1. **jQ_NO1**: 可能是关于jQuery基础知识的介绍,包括选择器的使用和简单的DOM操作,比如如何选取元素,如何添加或删除元素。 2. **jQ_NO2**: 可能会深入到事件处理和动画效果,讲解如何为元素绑定事件,以及如何...

Global site tag (gtag.js) - Google Analytics