《jQuery Cookbook中文版》——1.4 在指定上下文中选择DOM元素

1.4 在指定上下文中选择DOM元素

1.4.1 问题
你需要引用在另一个DOM元素或者文档上下文中的单个DOM元素或者一组DOM元素,以便用jQuery方法操作这些元素。

1.4.2 解决方案
当传递CSS表达式时,jQuery函数还有第二个参数,这个参数告诉jQuery函数应该在那个上下文中根据表达式搜索DOM元素。在这种情况下,第二个参数可以是一个DOM引用、jQuery包装器或者文档。在下面的代码中有12个< input>元素。注意我是如何根据< form>元素确定具体的上下文,仅选择特定的< input>元素的:

<!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>

<form>
<input name="" type="checkbox" />
<input name="" type="radio" />
<input name="" type="text" />
<input name="" type="button" />
</form>

<form>
<input name="" type="checkbox" />
<input name="" type="radio" />
<input name="" type="text" />
<input name="" type="button" />
</form>

<input name="" type="checkbox" />
<input name="" type="radio" />
<input name="" type="text" />
<input name="" type="button" />

<script type="text/JavaScript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/JavaScript">

//使用上下文包装器在所有表单元素中搜索,警告框中显示"selected 8 inputs"
alert('selected ' + jQuery('input',$('form')).length + ' inputs');

//用DOM引用作为上下文,在第一个表单元素中搜索,警告框中显示"selected 4 inputs"
alert('selected ' + jQuery('input',document.forms[0]).length + ' inputs');
//用表达式搜索body元素中的所有输入元素,警告框中显示"selected 12 inputs"
alert('selected ' + jQuery('input','body').length + ' inputs');
</script>
</body>
</html>

1.4.3 讨论
正如1.4.2节所提到的,也可以将文档作为搜索的上下文。例如,可以在一个XHR请求(Ajax)发回的XML文档的上下文中搜索。你可以在第16章中看到更多相关的细节。

时间: 2024-10-30 13:48:55

《jQuery Cookbook中文版》——1.4 在指定上下文中选择DOM元素的相关文章

《jQuery Cookbook中文版》——1.6 查找当前选择包装器集中的后代元素

1.6 查找当前选择包装器集中的后代元素 1.6.1 问题你选择了一组(或者一个)DOM元素,希望在当前选中元素的上下文中找到后代(子)元素. 1.6.2 解决方案使用.find()方法,根据当前集合及其后代的上下文创建一个新的元素包装器集.例如,假设你有一个包含多个段落的网页,这些段落中封装的是需要强调(以斜体显示)的单词.如果你只想选择 元素中包含的元素,可以使用如下代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitiona

《jQuery Cookbook中文版》——1.8 将前一个选择集包含到当前选择集

1.8 将前一个选择集包含到当前选择集 1.8.1 问题你刚刚对一组元素进行操纵,获得新的元素集.但是,你想同时操作前一个元素集和当前元素集. 1.8.2 解决方案可以用andSelf()方法合并前一个DOM元素选择集和当前选择集.例如,在下面的代码中,首先选择页面上的所有< div>元素.接下来,操纵这组元素,寻找< div>元素中的所有< p>元素.现在,为了同时操作< div>和< div>中找到的< p>元素,可以用andSe

jQuery函数的第二个参数获取指定上下文中的DOM元素_jquery

jQuery函数的第二个参数可以指定DOM元素的搜索范围. 第二个参数可分为以下类型 DOM reference jQuery wrapper document 代码示例 复制代码 代码如下: <!DOCTYPE html> <html> <body> <form> <input name="" type="checkbox"/> <input name="" type="

《jQuery Cookbook中文版》——导读

前言 jQuery程序库给前端开发带来了一场风暴.它极其简单的语法使曾经很复杂的任务变得轻松愉快.许多开发人员很快就为它的优雅和清晰而着迷.如果你已经开始使用这个程序库,你就已经将丰富而具有交互性的体验加入到你的项目中. jQuery的入门非常容易,但是和许多用于开发网站的工具一样,完全体会到它的广度和深度需要花费几个月甚至几年的时间.这个程序库充满了你从未想象过的特性.一旦你了解了这些特性,这些特性就能够戏剧性地改变你解决问题的方法. 本书旨在向亲爱的读者展示业界领先的前端开发人员在日常项目中

《jQuery Cookbook中文版》——1.13 克隆DOM元素

1.13 克隆DOM元素 1.13.1 问题 你需要克隆/复制DOM的一部分. 1.13.2 解决方案 jQuery提供clone()方法复制DOM元素.它的用法很简单,只要用jQuery函数选择DOM元素,然后在选择的元素集上调用clone()方法就可以了.结果是返回用于链接的DOM结构的一个副本,而不是原来选中的DOM元素.在下面的代码中,将克隆一个< ul>元素,然后用插入方法appendTo()将这个副本附加到DOM中.实际上,在页面上插入了与现有的< ul>完全相同的一个

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

1.3 用选择器和jQuery函数选择DOM元素 1.3.1 问题你需要选择一个DOM元素或者一组DOM元素,以便用jQuery方法作用于这些元素. 1.3.2 解决方案当你需要从DOM中选择元素时,jQuery提供两种备选方案.这两种选项都要求使用jQuery函数(jQuery()或其别名$()).第一种选项使用CSS选择器和自定义选择器,这是最常用和最清晰的解决方案.通过向jQuery函数传递一个包含选择器表达式的字符串参数,该函数将遍历DOM并查找表达式定义的DOM节点.下面的代码是一个例

《jQuery Cookbook中文版》——第1章 jQuery基础1.0 导言

第1章 jQuery基础 1.0 导言 既然你已经选择了一本有关jQuery的"食谱",本书作者基本就可以假定你对jQuery的定义和功能有了大致的认识.坦白说,"食谱"通常是为寻求加强已有知识基础的读者所编写的.因此,本书使用了问题-解决方案-讨论的编排方式,快速地介绍常见问题的解决方案.但是,如果你是一位jQuery新手,不要把本书抛诸脑后,认为第1章是老生常谈,这一章就是专为新手所写的. 如果你需要复习,或者只有很少或者完全没有jQuery的知识,第1章将帮助

《jQuery Cookbook中文版》——1.5 过滤DOM元素包装器集

1.5 过滤DOM元素包装器集 1.5.1 问题 在jQuery包装器集中有一组选中的DOM元素,但是打算从集合中删除不匹配新指定表达式的元素,以创建一个新的操作元素集合. 1.5.2 解决方案 jQuery过滤器方法用于DOM元素的jQuery包装器集,可以排除不符合指定表达式的元素.简言之,可以用filter()方法过滤当前元素集,这是过滤器方法与jQuery查找方法的重要区别,查找方法通过寻找(使用新的选择器变量)新元素(包括当前包装器集的子元素)来缩小DOM元素的包装器集. 为了理解过滤

《jQuery Cookbook中文版》——1.2 在DOM加载之后、整个页面加载之前执行jQuery/JavaScript代码

1.2 在DOM加载之后.整个页面加载之前执行jQuery/JavaScript代码 1.2.1 问题 采用无干扰式JavaScript方法论的现代JavaScript应用程序通常只在DOM完全加载之后才执行JavaScript.实际情况是,任何DOM遍历和操纵都要求在操作之前必须加载DOM.需要一种手段来确定客户端(最常见的是Web浏览器)何时完成DOM的加载(这时图片和SWF文件等资源可能还没有完全加载).如果在这种情况下使用window.onload事件,包括所有资源的整个文档完全加载之后