`
孔雀王子
  • 浏览: 42168 次
  • 性别: 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基础选择器练习题

    接下来,我们讨论jQuery的层级选择器,这些选择器允许我们根据元素的位置关系进行选取: 1. **后代选择器**: 使用空格分隔两个选择器,如`$("div p")`选取`&lt;div&gt;`内的所有`&lt;p&gt;`元素。 2. **子元素选择器**: 使用`&gt;`...

    jQuery选择器全解.

    通过jQuery选择器,开发者能够轻松地定位和操作DOM(Document Object Model)元素,极大地提高了网页开发的效率与灵活性。本文将深入解析jQuery选择器的功能与使用方法,帮助读者掌握这一重要的前端技术。 #### 二...

    jQuery选择器大全

    基本选择器是学习jQuery选择器的基石,涵盖了ID选择器、Class选择器、Element选择器及通配符选择器。 1. **ID选择器**:`#id`,用于定位具有特定ID的单一元素,如`$('#one')`会选中ID为“one”的元素,常用于修改该...

    jquery选择器及jquery表单操作

    ### jQuery选择器详解 在网页开发中,jQuery作为一款轻量级、功能强大的JavaScript库,极大地简化了HTML文档遍历、事件处理、动画以及Ajax交互等操作。其中,选择器是jQuery的核心特性之一,它提供了丰富的语法来...

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

    本文将深入探讨jQuery选择器中的层级过滤选择器,这些选择器能够帮助开发者根据层级关系来选取页面中的特定元素。在开始之前,需要明确层级选择器是通过父子、兄弟等层级关系来定位页面元素的一种方式。 在jQuery中...

    jQuery选择器大全PDF

    ### jQuery选择器大全:掌握高效DOM操作的关键 在前端开发领域,jQuery因其强大的功能和简洁的语法而备受青睐。选择器作为jQuery的核心组件之一,扮演着桥梁的角色,连接JavaScript与HTML文档,使得开发者能以更加...

    JQuery 选择器、过滤器介绍

    在深入探讨jQuery选择器和过滤器之前,先让我们回顾一下jQuery的基本概念。jQuery是一个流行的JavaScript库,它的核心理念是“write less, do more.”,即用更少的代码实现更多的功能。它简化了DOM(Document Object...

    jQuery 选择器整理

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

    Jquery选择器

    jQuery选择器主要分为四大类:基本选择器、层次选择器、过滤选择器和表单选择器。 ##### 1. 基本选择器(Basic Selectors) 基本选择器是最简单的一类选择器,用于根据元素类型、ID或类名来选取元素。 - **元素...

    12个很棒的jQuery选择器扩展

    这篇博客文章“12个很棒的jQuery选择器扩展”深入探讨了一些超越了标准CSS选择器的高级jQuery选择器,这些扩展极大地提升了开发效率和代码的可读性。通过阅读和理解这些选择器的用法,开发者可以更加熟练地操纵页面...

    jquery选择器以及jquery数组

    ### 二、层级选择器 1. **子元素选择器**:`$("div li")` 选取所有 `&lt;li&gt;` 元素,这些元素必须是 `&lt;div&gt;` 的后代元素(但不一定是直接子元素)。例如: ```javascript $("div li").css("color", "blue"); ``` ...

    Jquery01.md

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

    jQuery层级选择器_动力节点节点Java学院整理

    总的来说,jQuery的层级选择器和过滤器是实现高效DOM操作的关键。通过熟练掌握这些工具,开发者可以编写出更加简洁且针对性强的代码,提高页面交互的响应性和用户体验。在实际开发中,结合使用不同的选择器和过滤器...

    jquery常见的选择器、筛选器、事件.docx

    **层级选择器**: - **子元素选择器**: 使用 `$(".parent &gt; .child")` 来选择指定类名下的直接子元素。 - 示例:`$(".my &gt; li")` 选择 `class="my"` 内的直接子节点中的 `li` 元素。 - **相邻兄弟选择器**: 使用 ...

Global site tag (gtag.js) - Google Analytics