《jQuery Cookbook中文版》——1.3 用选择器和jQuery函数选择DOM元素

简介:

本节书摘来自异步社区《jQuery Cookbook中文版》一书中的第1章,第1.3节,作者:【美】jQuery社区专家组 译者:姚军 , 孙博更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.3 用选择器和jQuery函数选择DOM元素

1.3.1 问题
你需要选择一个DOM元素或者一组DOM元素,以便用jQuery方法作用于这些元素。

1.3.2 解决方案
当你需要从DOM中选择元素时,jQuery提供两种备选方案。这两种选项都要求使用jQuery函数(jQuery()或其别名$())。第一种选项使用CSS选择器和自定义选择器,这是最常用和最清晰的解决方案。通过向jQuery函数传递一个包含选择器表达式的字符串参数,该函数将遍历DOM并查找表达式定义的DOM节点。下面的代码是一个例子,选择HTML文档中的所有元素:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<a href='#'>link</a>
<a href='#'>link</a>
<a href='#'>link</a>
<a href='#'>link</a>
<a href='#'>link</a>
<a href='#'>link</a>
<script type="text/JavaScript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/JavaScript">
   //用警告框显示页面上有6个元素
   alert('Page contains ' + jQuery('a').length + ' <a> elements!');
</script>
</body>
</html>
AI 代码解读

如果你在Web浏览器中运行这个HTML页面,就会看到这段代码执行一个浏览器alert()方法,告诉我们该页面包含6个元素。我首先选择所有的元素,然后用length属性返回jQuery包装器集中元素的数量,并将其传递给alert()方法。

你应该知道,这里使用的jQuery函数的第一个参数能够接受多个表达式,只要在传递给jQuery函数的第一个字符串参数中用逗号分隔多个选择器就行了。下面是一个例子:

jQuery('selector1, selector2, selector3').length;
AI 代码解读

选择DOM元素的第二种选项是向jQuery函数传递DOM元素的实际JavaScript引用,这种选项不如第一种常用。举个例子,下面的代码将选择HTML文档中的所有元素。注意,我传递给jQuery函数的是一个用getElementsByTagName DOM方法收集到的元素数组。这个例子的结果和前一个代码示例完全相同:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body bgcolor="yellow"> <!-- yes the attribute is depreciated, I know, roll
with it -->
<a href='#'>link</a>
<a href='#'>link</a>
<a href='#'>link</a>
<a href='#'>link</a>
<a href='#'>link</a>
<a href='#'>link</a>
<script type="text/JavaScript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/JavaScript">
   //用警告框提示页面上有6个元素
   alert('Page contains ' + jQuery(document.getElementsByTagName('a')).length +
' <a> Elements, And has a '
   + jQuery(document.body).attr('bgcolor') + ' background');
</script>
</body>
</html>
AI 代码解读

1.3.3 讨论
众所周知,jQuery能够胜任繁重的工作,这在某种程度上是因为选择器引擎Sizzle,该引擎能够从HTML文档中选择DOM元素。虽然向jQuery函数传递DOM引用在必要的时候是个很好的选择,当它并不是jQuery进入众人视野的原因。选择器拥有的许多强大的选项才是jQuery与众不同之处。

在本书余下的部分中,你将会学习到各种强大和健壮的选择器,对这些选择器的功能都要彻底地理解。这些知识在未来的jQuery编程工作中将使你获益匪浅。

目录
打赏
0
0
0
0
1817
分享
相关文章
jQuery - 添加元素
通过 jQuery,可以很容易地添加新元素/内容。
64 10
|
6月前
|
jQuery 选择器
jQuery 选择器
61 5
深入了解jQuery:轻松实现高效的DOM操作
【10月更文挑战第11天】深入了解jQuery:轻松实现高效的DOM操作
108 0
用HTML DOM实现有条件地渲染网页元素(上)
用HTML DOM实现有条件地渲染网页元素(上)
用HTML DOM实现有条件地渲染网页元素(下)
用HTML DOM实现有条件地渲染网页元素(下)
.js的dom元素操作
【10月更文挑战第29天】通过灵活运用这些 DOM 元素操作方法,JavaScript 可以实现丰富的网页交互效果,如动态更新页面内容、响应用户操作、创建和删除页面元素等。在实际开发中,开发者可以根据具体的需求和场景,选择合适的 DOM 元素操作方法来实现所需的功能,为用户提供更加流畅和动态的网页体验。
jQuery 选择器
jQuery 选择器用于操作 HTML 元素,支持基于 id、类、类型、属性等条件选择元素。它扩展了 CSS 选择器的功能,并使用 ()(&quot;p&quot;) 选取所有段落元素,而 (&quot;button&quot;).click(function(){(&quot;p&quot;).hide(); }) 实现点击按钮后隐藏所有段落。
jQuery 操作 DOM 及 CSS
本文介绍了如何使用jQuery进行DOM操作和CSS样式的修改,包括如何获取和设置元素的文本内容、属性值、添加和删除元素,以及如何使用jQuery的addClass、removeClass、toggleClass、hasClass和css方法来操作元素的CSS。通过示例代码,展示了jQuery在实际开发中的便捷性。
jQuery 操作 DOM 及 CSS