`

jQuery学习笔记——选择器

阅读更多

选择器是jQuery的根基,在jQuery中,对事件处理,遍历DOM和AJAX操作都依赖于选择器

 

jQuery选择器的优点:
简洁的写法

$("#id")  //document.getElementById("id");
$("tagName")  //document.getElementByTagName("tagName");

 完善的事件处理机制

//若在网页中没有id为"id"的元素,浏览器会报错
//document.getElementById("id").style.color="red";

//需要先判断document.getElementById("id")是否存在
if(document.getElementById("id"))
   document.getElementById("id").style.color="red";
   
   //使用jQuery获取网页中的元素即使不存在页也不会报错
   $("#id").css("color","red");

   基本选择器示例

//改变id为one的元素的背景色为红色
   $("#one").css("backgroundColor","red");
   //改变元素名为<p>的所有元素的背景色为#bbffaa,字体颜色为red
   $("p").css({color:"red",backgroundColor:"#bbffaa"});
   //改变第一个<p>元素的背景色为red
   $("p").eq(0).css("backgroundColor","red");
   //改变所有<h1>元素和id为one的元素的背景色为#bbffaa
   $("h1,#one").css("backgroundColor","#bbffaa");

 

 层次选择器


   如果想通过DOM元素之间的层次关系来获取特定元素,例如后代元素,子元素,相邻元素,兄弟元素等,则需要使用层次选择器

//选取ancestor的所有descendant(后代)元素
   $("ancestor descendant")
   //选取parent元素下的child(子)元素,与$("ancestor descendant")有区别,$("ancestor descendant")选择的是后代元素
   $("parent>child")
   //选取紧接在prev元素后的下一个next元素
   $("prev+next")
   //选取prev元素后的所有siblings元素
   $("prev~siblings")

 注:("prev!div")选择器只能选择"#prev"元素后面的同辈元素;而jQuery中的方法siblings()与前后位置无关,只要是同辈节点就可以选取
   层次选择器示例

//改变<body>内所有<div>的背景色为#bbffaa
   $("body div")
   //改变<body>内子<div>的背景色为#bbffaa
   $("body>div")
   //改变id为one的下一个<div>的背景色为#bbffaa
   $("#one+div")
   //改变id为two的元素的所有兄弟<div>的元素背景色
   $("#two~div")
   //改变id为two的元素所有<p>兄弟元素的背景色
   $("#two").siblings("p")

   过滤选择器
   以“:”开头
   1、基本过滤选择器

:first //选取第一个元素
   :last //选取最后一个元素
   :not(selector) //去除所有与给定选择器匹配的元素
   :even //选取索引时偶数的所有元素,索引从零开始
   :odd //选取索引时奇数的所有元素,索引从零开始
   :eq(index)//选取索引等于index的元素,索引从零开始
   :gt(index)//选取索引大于index的元素,索引从零开始
   :lt(index)//选取索引小于index的元素,索引从零开始
   :header//选取所有标题元素,如h1,h2等
   :animated//选取当前正在执行动画的所有元素

 过滤选择器的示例

//改变第一个div元素
   $("div:first")
   //改变id不为one的所有p元素
   $("p:not('#one')")
   //改变索引值为偶数的tr元素
   $("tr:even")
   //选取索引值大于3且为奇数的元素
   $("p:gt(3):odd")
   //改变所有标题元素
   $(":header")

 2、内容过滤选择器
   规则主要体现在“他所包含的子元素和文本内容”上

:coneains(text)//选取文本内容含有text的元素
   :empty//选取不包含子元素或者文本的空元素
   :has(selector)//选取含有选择器所匹配的元素的元素
   :parent//选取含有子元素或者文本的元素
   //内容选择器示例
   //改变含有class为mini元素的p元素
   $("p:has(.mini)")

 3、可见性过滤选择器
   根据元素的可见与不可见选择相应元素
   :hidden
   :visible
   注:hidden不仅包含样式属性display为none的元素,也包含文本隐藏域(<input type="hidden">)和visible:hidden之类的元素

4、属性过滤选择器
   属性过滤选择器的过滤规则是“通过元素的属性来获取相应的元素”

 

 

[attribute]//选取拥有此属性的元素
   [attribute=value]//选取指定属性的值为value的元素
   [attribute!=value]//选取指定属性的值不等于value的元素
   [attribute^=value]//选取指定属性的值以value开始的元素
   [attribute$=value]//选取指定属性的值以value结束的元素
   [attribute*=value]//选取指定属性的值含有value的元素 
[selector1][selector2]...[selectorN]//用属性选择器合并成一个复合属性选择器,满足多个条件。每选择一次,缩小一次范围

 5、子元素过滤选择器

:nth-child(index/even/odd/equation)//选取每个父元素下的第index个子元素或者奇偶元素(index从1算起)
:first-child//选取每个父元素下的第一个子元素
:last-child//选取每个父元素下的最后一个子元素 
:only-child//选取只有一个子元素的元素

 nth-child()选择器详解:
1、:nth-child(even/odd):能选取每个父元素下的索引值为偶(奇)数的元素
2、:nth-child(2):能选取每个父元素下的索引值为2的元素
3、:nth-child(3n):能选取每个父元素下的索引值是3的倍数的元素
4、:nth-child(3n+1)等

 

6、表单对象属性过滤选择器 

 

 :enabled//选取所有可用元素
   :disabled//选取所有不可用元素
   :checked//选取所有被选中的元素(单选框,复选框)
   :selected//选取所有被选中选项元素(下拉列表)

   示例:
   ·利用jQuery对象的val()方法改变表单内可用/不可用<input>元素的值
   ·利用jQuery对象的length属性获取多选框选中的个数
   ·利用jQuery对象的text()方法获取下拉框选中的内容
   表单选择器

:input//选取所有<input>,<textarea>,<select>和<button>yuans
   :text//选取所有单行文本框
   :paddword//选取所有密码框元素
   :radio//选取所有单选框
   :checkbox//选取所有多选框
   :submit//选取所有提交按钮
   :image//选取所有图像按钮
   :reset//选取所有重置按钮
   :button//选取所有的按钮
   :file//选取所有的上传域
   :hidden//选取所有不可见元素

 

 

 

 

分享到:
评论

相关推荐

    js学习笔记——(15)jQuery选择器、样式操作、效果

    本文将深入探讨jQuery的选择器、样式操作和效果,帮助你更好地理解和应用jQuery。 ### 1. jQuery选择器 jQuery提供了一套丰富的选择器,使得开发者可以更加方便地选取DOM元素。这些选择器主要分为以下几类: ####...

    JQuery学习笔记,属性大全

    **jQuery学习笔记——属性大全** 在JavaScript的世界里,jQuery是一个非常流行且强大的库,它极大地简化了DOM操作、事件处理、动画制作以及Ajax交互。本笔记将深入探讨jQuery中的核心属性,帮助开发者快速掌握和...

    jquery 学习笔记源码 1第一个jquery

    《jQuery学习笔记源码——初识与实践》 在当今的Web开发领域,jQuery是一个不可或缺的JavaScript库,它极大地简化了DOM操作、事件处理、动画效果以及Ajax交互等任务。本篇文章将基于“jQuery学习笔记源码 1第一个...

    jQuery.flipster——简单好用的立体式banner切换插件.zip

    3. 在页面加载完成后,使用jQuery选择器找到该容器元素,并调用`.flipster()`方法来初始化插件。 例如: ```javascript $(document).ready(function() { $('.flipster').flipster({ // 这里可以设置插件的选项,...

    jquery学习笔记--1

    **jQuery学习笔记--1** jQuery是一个轻量级的JavaScript库,它极大地简化了JavaScript的DOM操作、事件处理、动画设计以及Ajax交互。本篇笔记将深入探讨jQuery的基础知识,包括其核心概念、选择器、DOM操作、事件...

    jquery 学习笔记

    《jQuery学习笔记——15天快速入门指南》 jQuery,作为一个强大的JavaScript库,极大地简化了JavaScript的DOM操作、事件处理、动画制作以及Ajax交互。它以其简洁的API和高效的性能,成为了前端开发者的首选工具之一...

    jquery笔记.docx

    《jQuery入门详解——从入口函数到选择器》 jQuery,作为一款广泛应用于前端开发的JavaScript库,极大地简化了DOM操作,提供了丰富的API和强大的选择器系统。本文将深入讲解jQuery的核心概念,包括入口函数的使用、...

    《jQuery权威指南》学习笔记之第3章 jQuery操作DOM

    1. **选择元素**: jQuery的选择器是其强大之处之一。它可以使用CSS选择器、ID选择器、类选择器、属性选择器等多种方式来选取DOM元素。例如,`$("#myID")`选择ID为`myID`的元素,`$(".myClass")`选择所有类名为`...

    jquery动画笔记

    《jQuery 动画详解——基于“笨人的学习笔记”》 在Web开发中,动态效果是提升用户体验的重要手段,jQuery库以其简洁易用的API,让JavaScript动画变得简单且高效。本篇主要针对jQuery的动画功能进行深入探讨,结合...

    jQuery弹出框选择日期代码.zip

    在这个例子中,可能使用了某个jQuery插件,如"jQuery UI"或"bootstrap-datepicker"等,它们提供了内置的日期选择器功能。以下是一个使用jQuery UI的简单示例: ```javascript $(document).ready(function() { $("#...

    jQuery鼠标拖动滑块选择日期代码.zip

    在这个滑块日期选择器中,jQuery主要用于处理DOM元素的选择、事件监听和响应,以及可能的动画效果。 其次,CSS文件(如css.css)是负责定义界面样式的关键。在这个案例中,CSS可能定义了滑块的外观、日期显示的布局...

    jquery笔记1

    1. **选择器(Selectors)**:jQuery的选择器基于CSS,允许开发者快速选取页面上的元素。例如,`$("#myID")`选取ID为`myID`的元素,`$(".myClass")`选取所有类名为`myClass`的元素,`$("div")`选取所有`&lt;div&gt;`元素。...

    jQuery学习基础知识小结

    jQuery学习笔记: jQuery学习 1、基本语法: $(selector).action() $:定义jQuery selector:选择符,查询和查找HTML元素 action():对元素执行的操作 实例: $(this).hide()——隐藏当前元素 $(“p”),hide()——-隐藏...

    Java JDK 7学习笔记(国内第一本Java 7,前期版本累计销量5万册)

    丛书名: 学习笔记 出版社:清华大学出版社 ISBN:9787302282082 上架时间:2012-5-9 出版日期:2012 年5月 开本:16开 页码:564 版次:1-1 所属分类:计算机 &gt; 软件与程序设计 &gt; JAVA(J#) &gt; Java 编辑推荐   ...

    struts2学习笔记黑马程序员

    ### Struts2学习笔记之文件上传与Ajax开发 #### Struts2文件上传 **文件上传简介** 文件上传是Web应用中常见的功能之一,Struts2框架内置了对文件上传的支持,使得开发者能够轻松地实现这一功能。为了确保文件...

    jQuery返回顶部指示器.rar

    打开这些文件,我们可以看到具体的实现方式,例如,jQuery的选择器是如何找到返回顶部的元素,如何绑定点击事件,以及如何利用jQuery的animate方法实现平滑滚动效果。 对于二次修改,开发者可以根据自己的需求进行...

    jQuery双向列表左右移动选择框代码.zip

    标签中涉及"jquery"、"jquery代码"、"jquery插件"、"jquery特效",这表明这段代码可能使用了jQuery的基本操作,如选择器、事件绑定、DOM操作,也可能涉及了一些自定义插件或特效。而文件名列表中的"index.html"、"js...

    jqGrid 学习笔记整理——进阶篇(一 )

    在实际应用中,你可能还需要配置其他的jqGrid特性,比如行选择、事件监听、自定义编辑器、数据过滤、列的隐藏和显示等。jqGrid还支持远程数据源,可以通过改变`datatype`为`"json"`或`"jsonp"`,配合`url`属性从...

    jQuery仿qq音乐mp3播放器代码.zip

    2. **jQuery选择器和操作DOM**:jQuery提供了丰富的选择器,如`$("#id")`选取ID为id的元素,`$(".class")`选取所有类名为class的元素。通过`.html()`, `.attr()`, `.css()`等方法,可以方便地改变元素的内容、属性和...

Global site tag (gtag.js) - Google Analytics