在介绍选择器之前,我们首先来了解一下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 开始计数
查找表格的1、3、5...行(即索引值0、2、4...)
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 开始计数
查找表格的2、4、6行(即索引值1、3、5...)
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 匹配所有大于给定索引值的元素
查找第二第三行,即索引值是1和2,也就是比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 匹配所有小于给定索引值的元素
查找第一第二行,即索引值是0和1,也就是比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);
});
分享到:
相关推荐
接下来,我们讨论jQuery的层级选择器,这些选择器允许我们根据元素的位置关系进行选取: 1. **后代选择器**: 使用空格分隔两个选择器,如`$("div p")`选取`<div>`内的所有`<p>`元素。 2. **子元素选择器**: 使用`>`...
通过jQuery选择器,开发者能够轻松地定位和操作DOM(Document Object Model)元素,极大地提高了网页开发的效率与灵活性。本文将深入解析jQuery选择器的功能与使用方法,帮助读者掌握这一重要的前端技术。 #### 二...
基本选择器是学习jQuery选择器的基石,涵盖了ID选择器、Class选择器、Element选择器及通配符选择器。 1. **ID选择器**:`#id`,用于定位具有特定ID的单一元素,如`$('#one')`会选中ID为“one”的元素,常用于修改该...
### jQuery选择器详解 在网页开发中,jQuery作为一款轻量级、功能强大的JavaScript库,极大地简化了HTML文档遍历、事件处理、动画以及Ajax交互等操作。其中,选择器是jQuery的核心特性之一,它提供了丰富的语法来...
本文将深入探讨jQuery选择器中的层级过滤选择器,这些选择器能够帮助开发者根据层级关系来选取页面中的特定元素。在开始之前,需要明确层级选择器是通过父子、兄弟等层级关系来定位页面元素的一种方式。 在jQuery中...
### jQuery选择器大全:掌握高效DOM操作的关键 在前端开发领域,jQuery因其强大的功能和简洁的语法而备受青睐。选择器作为jQuery的核心组件之一,扮演着桥梁的角色,连接JavaScript与HTML文档,使得开发者能以更加...
在深入探讨jQuery选择器和过滤器之前,先让我们回顾一下jQuery的基本概念。jQuery是一个流行的JavaScript库,它的核心理念是“write less, do more.”,即用更少的代码实现更多的功能。它简化了DOM(Document Object...
jQuery 选择器 XMind整理, 包含基本选择器,层级选择器, 过滤选择器
jQuery选择器主要分为四大类:基本选择器、层次选择器、过滤选择器和表单选择器。 ##### 1. 基本选择器(Basic Selectors) 基本选择器是最简单的一类选择器,用于根据元素类型、ID或类名来选取元素。 - **元素...
这篇博客文章“12个很棒的jQuery选择器扩展”深入探讨了一些超越了标准CSS选择器的高级jQuery选择器,这些扩展极大地提升了开发效率和代码的可读性。通过阅读和理解这些选择器的用法,开发者可以更加熟练地操纵页面...
### 二、层级选择器 1. **子元素选择器**:`$("div li")` 选取所有 `<li>` 元素,这些元素必须是 `<div>` 的后代元素(但不一定是直接子元素)。例如: ```javascript $("div li").css("color", "blue"); ``` ...
本篇文章记录了Jquery基础学习过程中的Jquery选择器以及核心函数。Jquery选择器:基本元素选择器,层级选择器,过滤选择器,子元素过滤选择器,表单过滤选择器,属性选择器,表单对象过滤选择器。
总的来说,jQuery的层级选择器和过滤器是实现高效DOM操作的关键。通过熟练掌握这些工具,开发者可以编写出更加简洁且针对性强的代码,提高页面交互的响应性和用户体验。在实际开发中,结合使用不同的选择器和过滤器...
**层级选择器**: - **子元素选择器**: 使用 `$(".parent > .child")` 来选择指定类名下的直接子元素。 - 示例:`$(".my > li")` 选择 `class="my"` 内的直接子节点中的 `li` 元素。 - **相邻兄弟选择器**: 使用 ...