选择器允许您对元素组或单个元素进行操作。

jQuery 选择器

在前面的章节中,我们展示了一些有关如何选取 HTML 元素的实例。

关键点是学习 jQuery 选择器是如何准确地选取您希望应用效果的元素。

jQuery 元素选择器和属性选择器允许您通过标签名、属性名或内容对 HTML 元素进行选择。

选择器允许您对 HTML 元素组或单个元素进行操作。

在 HTML DOM 术语中:

选择器允许您对 DOM 元素组或单个 DOM 节点进行操作。

jQuery 元素选择器

jQuery 使用 CSS 选择器来选取 HTML 元素。

$("p") 选取 <p> 元素。

$("p.intro") 选取所有 class="intro" 的 <p> 元素。

$("p#demo") 选取所有 id="demo" 的 <p> 元素。

jQuery 属性选择器

jQuery 使用 XPath 表达式来选择带有给定属性的元素。

$("[href]") 选取所有带有 href 属性的元素。

$("[href='#']") 选取所有带有 href 值等于 "#" 的元素。

$("[href!='#']") 选取所有带有 href 值不等于 "#" 的元素。

$("[href$='.jpg']") 选取所有 href 值以 ".jpg" 结尾的元素。

jQuery CSS 选择器

jQuery CSS 选择器可用于改变 HTML 元素的 CSS 属性。

下面的例子把所有 p 元素的背景颜色更改为红色:

实例

$("p").css("background-color","red");

亲自试一试

更多的选择器实例

语法

描述

$(this)

当前 HTML 元素

$("p")

所有 <p> 元素

$("p.intro")

所有 class="intro" 的 <p> 元素

$(".intro")

所有 class="intro" 的元素

$("#intro")

id="intro" 的元素

$("ul li:first")

每个 <ul> 的第一个 <li> 元素

$("[href$='.jpg']")

所有带有以 ".jpg" 结尾的属性值的 href 属性

$("div#intro .head")

id="intro" 的 <div> 元素中的所有 class="head" 的元素

jQuery 语法实例

$(this).hide()

演示 jQuery hide() 函数,隐藏当前的 HTML 元素。 $("#test").hide()

演示 jQuery hide() 函数,隐藏 id="test" 的元素。 $("p").hide()

演示 jQuery hide() 函数,隐藏所有 <p> 元素。 $(".test").hide()

演示 jQuery hide() 函数,隐藏所有 class="test" 的元素。

jQuery 语法

jQuery 语法是为 HTML 元素的选取编制的,可以对元素执行某些操作。

基础语法是:$(selector).action()

  • 美元符号定义 jQuery
  • 选择符(selector)“查询”和“查找” HTML 元素
  • jQuery 的 action() 执行对元素的操作

示例

$(this).hide() - 隐藏当前元素

$("p").hide() - 隐藏所有段落

$(".test").hide() - 隐藏所有 class="test" 的所有元素

$("#test").hide() - 隐藏所有 id="test" 的元素

提示:jQuery 使用的语法是 XPath 与 CSS 选择器语法的组合。在本教程接下来的章节,您将学习到更多有关选择器的语法。

文档就绪函数

您也许已经注意到在我们的实例中的所有 jQuery 函数位于一个 document ready 函数中:

$(document).ready(function(){

--- jQuery functions go here ----

});

这是为了防止文档在完全加载(就绪)之前运行 jQuery 代码。

如果在文档没有完全加载之前就运行函数,操作可能失败。下面是两个具体的例子:

  • 试图隐藏一个不存在的元素
  • 获得未完全加载的图像的大小
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<link rel="stylesheet" type="text/css" href="style/hdw.css"/>
	<script type="text/javascript" src="js/jquery-1.6.2.min.js"></script>
	<script type="text/javascript">
		$(document).ready(function(){
			$('a').click(function(){
				alert("点击我哈哈");
			});
			
			$('input:text').click(function(){
				alert("这是一个文本框");
			});
			
			$('input:checkbox').click(function(){
				alert("checkbox");
			});
			
			$('.hdw').click(function(){
				alert("hdw");
			});
			
			$('#div').click(function(){
			
				alert("div");
			});
		
		});
	</script>
</head>
<body>
	<a href="#">点击弹出</a>

	<input type="text"/>
	<input type="text" />
	<input type="text" />
	<input type="text" />
	<input type="text" />

	<input type="checkbox" />

	<div class="hdw" style="width:100px; height:100px; background:#ccc; border:1px solid #000;"></div>
	<div id="div" style="width:100px; height:100px; background:#ccc;"></div>
	<div style="width:100px; height:100px; background:#ccc;border:1px solid #000;"></div>
	<div style="width:100px; height:100px; background:#ccc;"></div>
	<div style="width:100px; height:100px; background:#ccc;border:1px solid #000;"></div>
</body>
</html>