`
孔雀王子
  • 浏览: 41056 次
  • 性别: Icon_minigender_1
  • 来自: 河北
文章分类
社区版块
存档分类
最新评论

JQuery基本选择器、层级选择器和基本过滤器介绍

阅读更多

在介绍选择器之前,我们首先来了解一下JQuery中的ready(fn)函数。这是事件模块中最重要的一个函数,因为它可以极大地提高web应用程序的响应速度。

简单地说,这个方法纯粹是对向window.load事件注册事件的替代方法。通过使用这个方法,可以在DOM载入就绪能够读取并操纵时立即调用你所绑定的函数,而99.99%JavaScript函数都需要在那一刻执行。

有一个参数--对jQuery函数的引用--会传递到这个ready事件处理函数中。可以给这个参数任意起一个名字,并因此可以不再担心命名冲突而放心地使用$别名。请确保在元素的onload事件中没有注册函数,否则不会触发$(document).ready()事件。可以在同一个页面中无限次地使用$(document).ready()事件。其中注册的函数会按照(代码中的)先后顺序依次执行。

下面举一个简单的例子来加以说明。

<html>

   <head>

      <title>My JSP 'jquerydemo1.jsp' starting page</title>

      //首先引入jquery所需要的js文件

      <script type="text/javascript" src="./js/jquery-1.4.4.js">

</script>

      <script type="text/javascript">

$(document).ready(function() {

   alert("JQuery第一个案例!");

});

</script>

   </head>

   <body>

      <br>

      <br>

      <h2 align="center" style="color: #333333;">

         第一个JQuery案例

      </h2>

   </body>

</html>

接下来我们继续介绍JQuery的基本选择器与层级选择器。

一、JQuery基本选择器

#id  根据给定的ID匹配一个元素。

HTML 代码:

<div id="notMe"><p>id="notMe"</p></div>

<div id="myDiv">id="myDiv"</div>

jQuery 代码:

$("#myDiv");

结果:

[ <div id="myDiv">id="myDiv"</div> ]

element  根据给定的元素名匹配所有元素

HTML 代码:

<div>DIV1</div>

<div>DIV2</div>

<span>SPAN</span>

jQuery 代码:

$("div");

结果:

[ <div>DIV1</div>, <div>DIV2</div> ]

.class  根据给定的类匹配元素。

HTML 代码:

<div class="notMe">div class="notMe"</div>

<div class="myClass">div class="myClass"</div>

<span class="myClass">span class="myClass"</span>

jQuery 代码:

$(".myClass");

结果:

[ <div class="myClass">div class="myClass"</div>, <span class="myClass">span class="myClass"</span> ]

*  匹配所有元素,多用于结合上下文来搜索。

HTML 代码:

<div>DIV</div>

<span>SPAN</span>

<p>P</p>

jQuery 代码:

$("*")

结果:

[ <div>DIV</div>, <span>SPAN</span>, <p>P</p> ]

selector1,selector2,selectorN  将每一个选择器匹配到的元素合并后一起返回。你可以指定任意多个选择器,并将匹配到的元素合并到一个结果内。

HTML 代码:

<div>div</div>

<p class="myClass">p class="myClass"</p>

<span>span</span>

<p class="notMyClass">p class="notMyClass"</p>

jQuery 代码:

$("div,span,p.myClass")

结果:

[ <div>div</div>, <p class="myClass">p class="myClass"</p>, <span>span</span> ]

二、层级选择器

ancestor descendant  在给定的祖先元素下匹配所有的后代元素

找到表单中所有的 input 元素

HTML 代码:

<form>

  <label>Name:</label>

  <input name="name" />

  <fieldset>

      <label>Newsletter:</label>

      <input name="newsletter" />

 </fieldset>

</form>

<input name="none" />

jQuery 代码:

$("form input")

结果:

[ <input name="name" />, <input name="newsletter" /> ]

parent > child  在给定的父元素下匹配所有的子元素,用以匹配元素的选择器,并且它是第一个选择器的子元素。

匹配表单中所有的子级input元素。

HTML 代码:

<form>

  <label>Name:</label>

  <input name="name" />

  <fieldset>

      <label>Newsletter:</label>

      <input name="newsletter" />

 </fieldset>

</form>

<input name="none" />

jQuery 代码:

$("form > input")

结果:

[ <input name="name" /> ]

prev + next  匹配所有紧接在 prev 元素后的 next 元素

匹配所有跟在 label 后面的 input 元素

HTML 代码:

<form>

  <label>Name:</label>

  <input name="name" />

  <fieldset>

      <label>Newsletter:</label>

      <input name="newsletter" />

 </fieldset>

</form>

<input name="none" />

jQuery 代码:

$("label + input")

结果:

[ <input name="name" />, <input name="newsletter" /> ]

prev ~ siblings  匹配 prev 元素之后的所有 siblings 元素

找到所有与表单同辈的 input 元素

HTML 代码:

<form>

  <label>Name:</label>

  <input name="name" />

  <fieldset>

      <label>Newsletter:</label>

      <input name="newsletter" />

 </fieldset>

</form>

<input name="none" />

jQuery 代码:

$("form ~ input")

结果:

[ <input name="none" /> ]

三、基本过滤器

: first  匹配找到的第一个元素

查找表格的第一行

HTML 代码:

<table>

  <tr><td>Header 1</td></tr>

  <tr><td>Value 1</td></tr>

  <tr><td>Value 2</td></tr>

</table>

jQuery 代码:

$("tr:first")

结果:

[ <tr><td>Header 1</td></tr> ]

:last  匹配找到的最后一个元素

查找表格的最后一行

HTML 代码:

<table>

  <tr><td>Header 1</td></tr>

  <tr><td>Value 1</td></tr>

  <tr><td>Value 2</td></tr>

</table>

jQuery 代码:

$("tr:last")

结果:

[ <tr><td>Value 2</td></tr> ]

:not  去除所有与给定选择器匹配的元素

jQuery 1.3中,已经支持复杂选择器了(例如:not(div a) :not(div,a)

查找所有未选中的 input 元素

HTML 代码:

<input name="apple" />

<input name="flower" checked="checked" />

jQuery 代码:

$("input:not(:checked)")

结果:

[ <input name="apple" /> ]

:even  匹配所有索引值为偶数的元素,从 0 开始计数

查找表格的135...行(即索引值024...

HTML 代码:

<table>

  <tr><td>Header 1</td></tr>

  <tr><td>Value 1</td></tr>

  <tr><td>Value 2</td></tr>

</table>

jQuery 代码:

$("tr:even")

结果:

[ <tr><td>Header 1</td></tr>, <tr><td>Value 2</td></tr> ]

:odd  匹配所有索引值为奇数的元素,从 0 开始计数

查找表格的246行(即索引值135...

HTML 代码:

<table>

  <tr><td>Header 1</td></tr>

  <tr><td>Value 1</td></tr>

  <tr><td>Value 2</td></tr>

</table>

jQuery 代码:

$("tr:odd")

结果:

[ <tr><td>Value 1</td></tr> ]

:eq  匹配一个给定索引值的元素

查找第二行

HTML 代码:

<table>

  <tr><td>Header 1</td></tr>

  <tr><td>Value 1</td></tr>

  <tr><td>Value 2</td></tr>

</table>

jQuery 代码:

$("tr:eq(1)")

结果:

[ <tr><td>Value 1</td></tr> ]

:gt  匹配所有大于给定索引值的元素

  查找第二第三行,即索引值是12,也就是比0

HTML 代码:

<table>

  <tr><td>Header 1</td></tr>

  <tr><td>Value 1</td></tr>

  <tr><td>Value 2</td></tr>

</table>

jQuery 代码:

$("tr:gt(0)")

结果:

[ <tr><td>Value 1</td></tr>, <tr><td>Value 2</td></tr> ]

:lt  匹配所有小于给定索引值的元素

查找第一第二行,即索引值是01,也就是比2

HTML 代码:

<table>

  <tr><td>Header 1</td></tr>

  <tr><td>Value 1</td></tr>

  <tr><td>Value 2</td></tr>

</table>

jQuery 代码:

$("tr:lt(2)")

结果:

[ <tr><td>Header 1</td></tr>, <tr><td>Value 1</td></tr> ]

:header  匹配如 h1, h2, h3之类的标题元素

给页面内所有标题加上背景色

HTML 代码:

<h1>Header 1</h1>

<p>Contents 1</p>

<h2>Header 2</h2>

<p>Contents 2</p>

jQuery 代码:

$(":header").css("background", "#EEE");

结果:

[ <h1 style="background:#EEE;">Header 1</h1>, <h2 style="background:#EEE;">Header 2</h2> ]

:animated  匹配所有正在执行动画效果的元素

只有对不在执行动画效果的元素执行一个动画特效

HTML 代码:

<button id="run">Run</button><div></div>

jQuery 代码:

$("#run").click(function(){

  $("div:not(:animated)").animate({ left: "+=20" }, 1000);

});

0
0
分享到:
评论

相关推荐

    jQuery基础选择器练习题

    JQ 选择器大全包含:基本选择器,层级选择器,层级函数,过滤选择器,内容选择器,可见选择器,jq中显示相关的函数,属性选择器,子元素选择器,表单选择器。里面的练习题可以拿来练手

    jquery选择器之层级过滤选择器详解

    本篇文章主要是对jquery选择器之层级过滤选择器进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助

    jQuery 选择器整理

    jQuery 选择器 XMind整理, 包含基本选择器,层级选择器, 过滤选择器

    Jquery01.md

    本篇文章记录了Jquery基础学习过程中的Jquery选择器以及核心函数。Jquery选择器:基本元素选择器,层级选择器,过滤选择器,子元素过滤选择器,表单过滤选择器,属性选择器,表单对象过滤选择器。

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

    1.Jquery的使用步骤:(1)导入js库(2)页面载入事件2.Jq对象和js对象的转换(1)js对象------&gt;jq对象(2)jq对象------&gt;js对象3.jq的基本选择器//(1)jq的id选择器//(2)jq的class选择器//(3)表单选择器//(4)element选择器4....

    JQuery框架类库基础部分学习 -JavaWeb

    jQuery 核心思想:jQuery 流行程度:jQuery 好处:常见问题JQuery核心函数jQuery 对象和 dom 对象区分jQuery 选择器基本选择器层级选择器过滤选择器基本过滤器:内容过滤器:属性过滤器:表单过滤器:表单对象属性过滤器...

    jQuery 1.4.1 中文参考

    3. 选择器 37 3.1 基本 37 3.1.1 #id 37 3.1.2 element 38 3.1.3 .class 38 3.1.4 * 39 3.1.5 selector1,selector2,selectorN 39 3.2 层级 40 3.2.1 ancestor descendant 40 3.2.2 41 3.2.3 prev + next 41 3.2.4 ...

    JQuery新版中文手册

    选择器 基本 #id element .class * selector1,selector2,selectorN 层级 ancestor descendant parent &gt; child prev + next prev ~ siblings 基本 :first :last :not(selector) :even :odd :eq...

    jquery1.11.0手册

    选择器 基本 #id element .class * selector1,selector2,selectorN 层级 ancestor descendant parent &gt; child prev + next prev ~ siblings 基本 :first :not(selector) :even :odd :eq(index) :...

    jQuery完全实例.rar

    这个函数最基本的用法就是向它传递一个表达式(通常由 CSS 选择器组成),然后根据这个表达式来查找所有匹配的元素。 默认情况下, 如果没有指定context参数,$()将在当前的 HTML 文档中查找 DOM 元素;如果指定了 ...

    Jquery 1.3 简体中文手册

    选择器 基本 #id element .class * selector1,selector2,selectorN 层级 ancestor descendant parent &gt; child prev + next prev ~ siblings 基本 :first :last :not :even :odd :eq :gt :lt :...

    JQuery 1.3 中文参考手册

    选择器 基本 #id element .class * selector1,selector2,selectorN 层级 ancestor descendant parent &gt; child prev + next prev ~ siblings 基本 :first :last :not :even :odd :eq :gt :lt :...

    jQuery1.4 API

    ) scrollLeft( [val] ) 尺寸 height( [val] ) width( [val] ) innerHeight() innerWidth() outerHeight(options) outerWidth(options) 选择器基本 #id element .class * selector1,selector2,selectorN 层级 ...

    基于jquery中children()与find()的区别介绍

    参数可选,添加参数表示通过选择器进行过滤,对元素进行筛选。 .find(selector)方法是返回匹配元素集合中每个元素的后代。参数是必选的,可以为选择器、jquery对象可元素来对元素进行筛选。 .find() 与 .children() ...

    文章管理系统

    2.[改进]为了系统安全和稳定去掉宇初验证码和印象码,加入4种数字验证码、1种中文验证码、1种计算题验证码供用户选择 3.[改进]为了后台系统安全,后台登录页不用判断是否已登录状态并自动跳转到管理页 4.[改进]后台...

Global site tag (gtag.js) - Google Analytics