jQuery基础学习7——层次选择器find()方法

  1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2 <html xmlns="http://www.w3.org/1999/xhtml">
  3     <head>
  4      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5      <title>2-5</title>
  6      <link rel="stylesheet" type="text/css" href="css/style.css" />
  7      <!--   引入jQuery -->
  8      <script src="../scripts/jquery.js" type="text/javascript"></script>
  9      <script src="lib/assist.js" type="text/javascript"></script>
 10       <script type="text/javascript">
 11       $(document).ready(function(){
 12             //选择 body内的所有div元素.
 13             $(‘#btn1‘).click(function(){
 14                 //$(‘body div‘).css("background","#bbffaa");    //和find()方法是等价的,祖先和后代的关系,和parents()方法是对立的
 15                 //$(‘body‘).find(‘div‘).css("background","#bbffaa");
 16
 17                 //$(‘body‘).find().css("background","#bbffaa");    //没有制定搜索的条件则返回空
 18                 //$(‘body‘).find(‘#abc‘).css("background","#bbffaa");    //查找不存在的元素也返回空
 19                 //$(‘body‘).find(‘#two-one‘).css("background","#bbffaa");    //查找唯一的元素就返回该元素
 20
 21                 //$(‘.one‘).find(‘#one-one‘).css("background","#bbffaa");    //class寻找唯一元素
 22                 $(‘.one‘).find(‘.mini‘).css("background","#bbffaa");    //class寻找class
 23             })
 24
 25             //在body内的选择 元素名是div 的子元素.
 26             $(‘#btn2‘).click(function(){
 27                 //$(‘body > div‘).css("background","#bbffaa");    //和children()方法是等价的,父子关系,和parent()方法是对立的
 28                 //$(‘body‘).children(‘div‘).css("background","#bbffaa");
 29
 30                 //$(‘body‘).children().css("background","#bbffaa");    //没有搜索条件的时候返回元素的所有子节点
 31                 //$(‘body‘).children(‘#abc‘).css("background","#bbffaa");    //查找不存在的元素也返回空
 32                 //$(‘body‘).children(‘#two-two‘).css("background","#bbffaa");    //查找唯一的元素就返回该元素
 33
 34                 //$(‘.one‘).children().css("background","#bbffaa");    //class寻找所有的子节点
 35                 //$(‘.one‘).children(‘#one-one‘).css("background","#bbffaa");    //class寻找唯一元素
 36                 $(‘.one‘).children(‘.mini‘).css("background","#bbffaa");    //class寻找class
 37             })
 38
 39             //选择 所有class为one 的下一个div元素.
 40             $(‘#btn3‘).click(function(){
 41                 //$(‘.one + div‘).css("background","#bbffaa");    //和next()方法是等价的,前后关系,和prev()方法是对立的
 42                 //$(‘.one‘).next(‘div‘).css("background","#bbffaa");
 43
 44                 //$(‘.one‘).next().css("background","#bbffaa");    //不指定向后查找的元素条件则返回开始class的第二个元素到临近的第一个元素
 45                 //$(‘.one‘).next(‘#abc‘).css("background","#bbffaa");    //向后查找不存在的元素返回为空
 46                 //$(‘.one‘).next(‘#two-one‘).css("background","#bbffaa");    //向后查找临近的元素
 47                 //$(‘.one‘).next(‘#two-two‘).css("background","#bbffaa");    ////向后查找不临近的元素,则返回为空
 48
 49                 //$(‘.two‘).prev(‘div‘).css("background","#bbffaa");    //查找跟class临近的所有div元素
 50                 //$(‘.two‘).prev().css("background","#bbffaa");    //查找跟class临近的所有元素
 51                 //$(‘.two‘).prev(‘#abc‘).css("background","#bbffaa");    //向前查找不存在的元素返回为空
 52                 //$(‘.two‘).prev(‘#four‘).css("background","#bbffaa");    //查找跟class临近的指定id元素
 53                 //$(‘.two‘).prev(‘#three‘).css("background","#bbffaa");    //查找的元素不是临近的也返回空
 54
 55                 //$(‘#two‘).next(‘div‘).css("background","#bbffaa");    //查找跟指定id元素邻近的所有div元素
 56                 //$(‘#two‘).next(‘#three‘).css("background","#bbffaa");    //查找跟指定id元素临近的指定id元素
 57                 //$(‘#two‘).next(‘#four‘).css("background","#bbffaa");    //查找跟指定id元素不临近的指定id元素,则返回为空
 58
 59                 $(‘#two-one‘).prev(‘div‘).css("background","#bbffaa");    //查找跟指定id元素之前的所有div元素
 60                 //$(‘#two-one‘).prev(‘#four‘).css("background","#bbffaa");    //查找跟指定id元素之前的指定id元素
 61                 //$(‘#two-one‘).prev(‘#three‘).css("background","#bbffaa");    //查找跟指定id元素之前的不临近指定id元素,则返回为空
 62             })
 63
 64             //选择 id为two的元素后面的所有div兄弟元素.
 65             $(‘#btn4‘).click(function(){
 66                 //$(‘#two ~ div‘).css("background","#bbffaa");    //和nextAll()方法是等价的,前后关系,和prevAll()方法是对立的
 67                 //$(‘#two‘).nextAll(‘div‘).css("background","#bbffaa");
 68
 69                 //$(‘#two‘).nextAll().css("background","#bbffaa");    //不指定向后查找的元素条件则返回开始id元素到最后的元素
 70                 //$(‘#two‘).nextAll(‘#abc‘).css("background","#bbffaa");    //指定向后查找的元素不存在的时候则返回空
 71                 //$(‘#two‘).nextAll(‘#three‘).css("background","#bbffaa");    //查找指定id元素后的指定id元素,返回存在的元素
 72                 //$(‘#two‘).nextAll(‘#two-two‘).css("background","#bbffaa");    //查找指定id元素后的指定id元素,返回存在的元素
 73
 74                 //$(‘#four‘).prevAll(‘div‘).css("background","#bbffaa");    //向前查找所有的div元素
 75                 //$(‘#four‘).prevAll().css("background","#bbffaa");    //向前查找所有的元素
 76                 //$(‘#four‘).prevAll(‘#abc‘).css("background","#bbffaa");    //向前查找不存在的元素,则返回空
 77                 //$(‘#four‘).prevAll(‘#three‘).css("background","#bbffaa");    //向前查找指定id的元素
 78                 //$(‘#four‘).prevAll(‘#two‘).css("background","#bbffaa");    //向前查找指定id的元素
 79
 80                 $(‘.one‘).nextAll(‘div‘).css("background","#bbffaa");    //向后查找class元素后的所有div元素
 81
 82                 //$(‘.two‘).prevAll(‘div‘).css("background","#bbffaa");    //向前查找class元素前的所有div元素
 83             })
 84
 85             $(‘#btn5‘).click(function(){
 86                 //$(‘#three‘).siblings(‘div‘).css("background","#bbffaa");    //查找所有和指定id同级的div元素
 87                 //$(‘#three‘).siblings().css("background","#bbffaa");    //查找所有和指定id同级的元素
 88                 //$(‘#three‘).siblings(‘#abc‘).css("background","#bbffaa");    //找不到符合条件的同级元素就返回空
 89
 90                 //$(‘.one‘).siblings(‘div‘).css("background","#bbffaa");    //class元素的所有div兄弟元素
 91                 //$(‘.one‘).siblings(‘.two‘).css("background","#bbffaa");    //class元素的所有class兄弟元素
 92                 //$(‘.one‘).siblings(‘#two-two‘).css("background","#bbffaa");    //class元素的指定id兄弟元素
 93
 94                 $(‘.one‘).siblings().css("background","#bbffaa");    //class的所有兄弟元素
 95             })
 96
 97             $(‘#btn6‘).click(function(){
 98                 //$(‘#one‘).nextUntil(‘#two-one‘).css("background","#bbffaa");
 99                 //$(‘#one‘).nextUntil().css("background","#bbffaa");
100                 //$(‘#one‘).nextUntil(‘#abc‘).css("background","#bbffaa");
101                 //如果没有选择器匹配到,或者没有提供参数,那么跟在后面的所有同辈元素都会被选中。这就跟用没有提供参数的 .nextAll()效果一样。
102
103                 //$(‘.one‘).nextUntil(‘.two‘).css("background","#bbffaa");    //Unitl的条件为class的时候,只要达到该class就立马停止
104                 //start是从class的第一个元素,stop也是第一个元素
105
106                 $(‘.one‘).nextUntil(‘#two-two‘).css("background","#bbffaa");
107                 //如果提供的jQuery代表了一组DOM元素,.nextUntil()方法也能让我们找遍所有元素所在的DOM树,直到遇到了一个跟提供的参数匹配的元素的时候才会停下来。
108                 //这个新jQuery对象里包含了下面所有找到的同辈元素,但不包括那个选择器匹配到的元素。
109             })
110
111             $(‘#btn7‘).click(function(){
112                 //$(‘#four‘).prevUntil(‘#one‘).css("background","#bbffaa");
113                 //$(‘#four‘).prevUntil().css("background","#bbffaa");
114                 //$(‘#four‘).prevUntil(‘#abc‘).css("background","#bbffaa");
115                 //如果没有选择器匹配到,或者没有提供参数,那么排在前面的所有同辈元素都会被选中。这就跟用没有提供参数的 .prevAll()效果一样。
116
117                 //$(‘.two‘).prevUntil(‘#one‘).css("background","#bbffaa");
118                 //如果提供的jQuery代表了一组DOM元素,.prevUntil()方法也能让我们找遍所有元素所在的DOM树,直到遇到了一个跟提供的参数匹配的元素的时候才会停下来。
119                 //这个新jQuery对象里包含了前面所有找到的同辈元素,但不包括那个选择器匹配到的元素。
120
121                 $(‘.two‘).prevUntil(‘.one‘).css("background","#bbffaa");    //Unitl的条件为class的时候,只要达到该class就立马停止
122                 //start是从class的最后一个元素,stop也是最后一个元素
123             })
124
125             $(‘#btn8‘).click(function(){
126                 //$(‘#one-one-one‘).parent().css("background","#bbffaa");    //没有过滤条件,就是返回直接父亲节点
127                 //$(‘#one-one-one‘).parent(‘#one-one‘).css("background","#bbffaa");    //查找id为one-one的父亲节点(只查找id为one-one)
128                 $(‘#one-one-one‘).parent(‘#one-two‘).css("background","#bbffaa");    //查找不存在的父亲节点(如果条件不成立,返回空)
129             })
130
131             $(‘#btn9‘).click(function(){
132                 //$(‘#one-one-one‘).parents().css("background","#bbffaa");    //没有过滤条件的时候,一直向上找祖先节点
133                 $(‘#one-one-one‘).parents(‘#one‘).css("background","#bbffaa");    //查找id为one的祖先节点(只查找id为one)
134                 //$(‘#one-one-one‘).parents(‘#one-two‘).css("background","#bbffaa");    //查找不存在的祖先节点(如果条件不成立,返回空)
135             })
136
137             $(‘#btn10‘).click(function(){
138                 //$(‘#one-one-one‘).parentsUntil().css("background","#bbffaa");    //没有过滤条件的时候,一直向上找祖先节点
139                 //$(‘#one-one-one‘).parentsUntil(‘#one‘).css("background","#bbffaa");    //查找直到id为one的祖先节点(不包括id为one)
140                 $(‘#one-one-one‘).parentsUntil(‘#one-two‘).css("background","#bbffaa");    //查找不存在的祖先节点(如果条件不成立的时候,就会一直向上查找)
141             })
142       });
143       </script>
144     </head>
145     <body>
146         <h3>层次选择器.</h3>
147         <button id="reset">手动重置页面元素</button>
148         <input type="checkbox" id="isreset" checked="checked"/><label for="isreset">点击下列按钮时先自动重置页面</label><br /><br />
149
150         <input type="button" value="祖先关系find()方法." id="btn1"/>
151         <input type="button" value="父子关系children方法()" id="btn2"/>
152         <input type="button" value="前后关系next()和prev()方法." id="btn3"/>
153         <input type="button" value="前后关系nextAll()和prevAll()方法." id="btn4"/>
154         <input type="button" value="前后关系siblings()方法." id="btn5"/>
155         <input type="button" value="前后关系nextUntil()方法." id="btn6"/>
156         <input type="button" value="前后关系prevUntil()方法." id="btn7"/>
157         <input type="button" value="父子关系parent()方法" id="btn8"/>
158         <input type="button" value="祖先关系parents()方法" id="btn9"/>
159         <input type="button" value="祖先关系parentsUntil()方法" id="btn10"/>
160
161         <br /><br />
162
163         <!-- 测试的元素 -->
164         <div class="one" id="one" >
165             id为one,class为one的div
166             <div class="mini" id="one-one">class为mini
167                 <div id="one-one-one">三层</div>
168             </div>
169         </div>
170
171         <div class="one"  id="two" title="test" >
172             id为two,class为one,title为test的div.
173             <div class="mini"  title="other">class为mini,title为other</div>
174             <div class="mini"  title="test">class为mini,title为test</div>
175         </div>
176
177         <div class="one" id="three">
178             <div class="mini">class为mini</div>
179             <div class="mini">class为mini</div>
180             <div class="mini">class为mini</div>
181             <div class="mini"></div>
182         </div>
183
184         <div class="one" id="four">
185             <div class="mini">class为mini</div>
186             <div class="mini">class为mini</div>
187             <div class="mini">class为mini</div>
188             <div class="mini"  title="tesst">class为mini,title为tesst</div>
189         </div>
190
191         <div class="two" id="two-one">class为two,id为two-one</div>
192         <div class="two" id="two-two">class为two,id为two-two</div>
193
194         <div style="display:none;"  class="none" id="five">
195             style的display为"none"的div
196         </div>
197
198         <div class="hide" id="six">class为"hide"的div</div>
199
200         <div id="seven">
201             包含input的type为"hidden"的div<input type="hidden" size="8"/>
202         </div>
203
204         <span id="mover">正在执行动画的span元素.</span>
205
206     </body>
207 </html>





$(‘body div‘).css("background","#bbffaa");

$(‘body‘).find(‘div‘).css("background","#bbffaa");  和$(‘body div‘)是等价的



$(‘body‘).find().css("background","#bbffaa");  没有制定搜索的条件则返回空

$(‘body‘).find(‘#abc‘).css("background","#bbffaa");  查找不存在的元素也返回空



$(‘body‘).find(‘#two-one‘).css("background","#bbffaa");  查找唯一的元素就返回该元素



$(‘.one‘).find(‘#one-one‘).css("background","#bbffaa"); //class寻找唯一元素



$(‘.one‘).find(‘.mini‘).css("background","#bbffaa"); //class寻找class

时间: 2024-10-05 00:51:54

jQuery基础学习7——层次选择器find()方法的相关文章

jQuery基础学习8——层次选择器children()方法

$('body > div').css("background","#bbffaa"); //和children()方法是等价的,父子关系,和parent()方法是对立的 $('body').children('div').css("background","#bbffaa"); 和$('body > div')是等价的 $('body').children().css("background"

jQuery基础学习8——层次选择器next()和prev()方法

$('.one + div').css("background","#bbffaa"); //和next()方法是等价的,前后关系,和prev()方法是对立的 $('.one').next('div').css("background","#bbffaa"); $('.one').next().css("background","#bbffaa"); //不指定向后查找的元素条件则返回开

jQuery基础学习6——基本选择器

1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="

【jQuery基础学习】01 jQuery选择器

关于CSS选择器 jQuery选择器涉及到CSS,CSS技术使得网页的结构与表现样式完全分离. 同样CSS也需要找到某个网页的结构才能改变其样式,这就是CSS选择器. 常用的CSS选择器如下: 标签选择器 以文档元素作为选择符 a{ text-decoration:none; } ID选择器 以文档元素的唯一标识符ID作为选择符 #myNameDiv{ font-size:14px; width:120px; } 类选择器 以文档元素的class作为选择符 div.note{ font-size

jQuery 基础学习笔记总结(一)

Jquery 学习笔记 总结 感想: 此前在做站点时用到过jquery相关,特别是Ajax相关技术.但是并没有系统的进行学习和了解Jquery的强大的功能,趁这几天跟着资料基本的了解下Jquery的特性和插件,感觉原来好多前端设计中感觉非常麻烦的东西.通过Jquery的函数和插件都非常easy的实现了而且效果极佳.这里仅仅是简单的介绍下Jquery有哪些知识点. 1.基础选择器 (1). $("button").attr("disabled","true&

CSS基础学习十一:选择器的优先级

在CSS基础学习的篇章中,从第四篇博客开始说选择器,到昨天基本已经说完了.今天我们总结一下,选择器作 用:告知浏览器需要设置哪个dom元素的样式.最后来说说选择器一个重要的问题,选择器的优先级.判断优先级的 方法就是尝试!!! 一简单选择器的优先级 简单的选择器包括我们在第四篇,第五篇,第六篇博客的元素选择器(标签选择器),类选择器和id选择器. 我们来试验: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&quo

jQuery基础学习

1.广受欢迎的 JavaScript 框架: jQuery Prototype MooTools 这些框架都提供针对常见 JavaScript 任务的函数,包括动画.DOM 操作以及 Ajax 处理 2.jQuery 使用 CSS 选择器(即html元素)来访问和操作网页上的 HTML 元素(DOM 对象). 3.jQuery 是一个 JavaScript 函数库. jQuery 库包含以下特性: HTML 元素选取 HTML 元素操作 CSS 操作 HTML 事件函数 JavaScript 特

【总结整理】JQuery基础学习---动画

jQuery中隐藏元素的hide方法 让页面上的元素不可见,一般可以通过设置css的display为none属性.但是通过css直接修改是静态的布局,如果在代码执行的时候,一般是通过js控制元素的style属性,这里jQuery提供了一个快捷的方法.hide()来达到这个效果 $elem.hide() 提供参数: .hide( options ) 当提供hide方法一个参数时,.hide()就会成为一个动画方法..hide()方法将会匹配元素的宽度,高度,以及不透明度,同时进行动画操作 快捷参数

【总结整理】JQuery基础学习---事件篇

jQuery鼠标事件之click与dbclick事件 用交互操作中,最简单直接的操作就是点击操作.jQuery提供了两个方法一个是click方法用于监听用户单击操作,另一个方法是dbclick方法用于监听用户双击操作.这两个方法的用法是类似的,下面以click()事件为例 使用上非常简单: 方法一:$ele.click() 绑定$ele元素,不带任何参数一般是用来指定触发一个事件,用的比较少 <div id="test">点击触发<div> $("el