定义和用法

find() 方法获得当前元素集合中每个元素的后代,通过选择器、jQuery 对象或元素来筛选。

搜索所有段落中的后代 span 元素,并将其颜色设置为红色:

$("p").find("span").css('color','red');
<!DOCTYPE html>
<html>
<head><script type="text/javascript" src="/jquery/jquery.js"></script>
</head><body><p><span>Hello</span>, how are you?</p><p>Me? I'm <span>good</span>.</p><script>$("p").find("span").css('color','red');
</script></body>
</html>

效果:

语法

.find(selector)
参数 描述
selector 字符串值,包含供匹配当前元素集合的选择器表达式。

详细说明

如果给定一个表示 DOM 元素集合的 jQuery 对象,.find() 方法允许我们在 DOM 树中搜索这些元素的后代,并用匹配元素来构造一个新的 jQuery 对象。.find() 与 .children() 方法类似,不同的是后者仅沿着 DOM 树向下遍历单一层级。

.find() 方法第一个明显特征是,其接受的选择器表达式与我们向 $() 函数传递的表达式的类型相同。将通过测试这些元素是否匹配该表达式来对元素进行过滤。

请思考下面这个简单的嵌套列表:

<ul class="level-1"><li class="item-i">I</li><li class="item-ii">II<ul class="level-2"><li class="item-a">A</li><li class="item-b">B<ul class="level-3"><li class="item-1">1</li><li class="item-2">2</li><li class="item-3">3</li></ul></li><li class="item-c">C</li></ul></li><li class="item-iii">III</li>
</ul>

我们将从列表 II 开始来查找其中的列表项:

$('li.item-ii').find('li').css('background-color', 'red');

这次调研的结果是,项目 A、B、1、2、3 以及 C 均被设置了红色背景。即使项目 II 匹配选择器表达式,它也不会被包含在结果中;只会对后代进行匹配。

与其他的树遍历方法不同,选择器表达式对于 .find() 是必需的参数。如果我们需要实现对所有后代元素的取回,可以传递通配选择器 '*'。

选择器 context 是由 .find() 方法实现的;因此,$('li.item-ii').find('li') 等价于 $('li', 'li.item-ii')。

对于 jQuery 1.6,我们还可以使用给定的 jQuery 集合或元素来进行筛选。还是上面的嵌套列表,我们首先这样写:

var $allListElements = $('li');

然后将这个 jQuery 对象传递给 find 方法:

$('li.item-ii').find( $allListElements );

上面的代码会返回一个 jQuery 集合,其中包含属于列表 II 后代的列表元素。

类似地,也可以传递一个元素:

var item1 = $('li.item-1')[0];
$('li.item-ii').find( item1 ).css('background-color', 'red');

表格内添加新元素 $("#" + id).find("td").eq(5).append("<a href='#' οnclick='IsSolved(" + id + ");'>标记解决</a>")

福建C# .net MVC 技术群 468259528

转载于:https://www.cnblogs.com/annkiny/p/5129959.html

jQuery find() 方法的使用总结相关推荐

  1. jQuery 事件方法大全

    Dom : Attribute:$("p").addClass(css中定义的样式类型); 给某个元素添加样式$("img").attr({src:" ...

  2. jQuery on()方法

    jQuery on()方法是官方推荐的绑定事件的一个方法. $(selector).on(event,childSelector,data,function,map) 由此扩展开来的几个以前常见的方法 ...

  3. JQuery Attributes 方法说明

    转:http://blog.sina.com.cn/s/blog_5ea2cb7e0100c4cx.html JQuery Attributes 方法说明(2009-02-17 01:02:33) 标 ...

  4. Jquery getJSON方法分析(一)

    准备工作 ·Customer类 public class Customer {     public int Unid { get; set; }     public string Customer ...

  5. jQuery 遍历方法

    jQuery 遍历方法 方法 描述 add() 把元素添加到匹配元素的集合中 addBack() 把之前的元素集添加到当前集合中 andSelf() 在版本 1.8 中被废弃.addBack() 的别 ...

  6. jquery ajax html方法吗,jQuery ajax方法

    jQuery AJAX 方法 jQuery load() 方法是简单强大的AJAX方法.从服务器加载数据,并将数据显示在被选中元素中. 语法: $(selector).load(URL,data,ca ...

  7. jquery订阅发布插件代码草稿,为jquery扩展jquery.publish,jquery.subscribe方法

    jquery订阅发布插件代码草稿! jquery订阅发布插件代码草稿,为jquery扩展jquery.publish,jquery.subscribe方法 --- jquery订阅发布插件代码草稿 & ...

  8. jQuery Css方法

    jQuery css() 方法 css() 方法设置或返回被选元素的一个或多个样式属性. 返回 CSS 属性 如需返回指定的 CSS 属性的值,请使用如下语法: css("propertyn ...

  9. jQuery on()方法绑定动态元素的点击事件无响应的解决办法

    $('#check_all').on('click' , function(){ alert(1); }); $("#yujinlist").append(html); count ...

  10. js进阶 11-6 jquery如何获取和设置元素的宽高(jquery多方法)

    js进阶 11-6  jquery如何获取和设置元素的宽高(jquery多方法) 一.总结 一句话总结:jquery里面多是方法啊,比如jquery对象的宽高.所以取值是方法,赋值就是方法里面带参数. ...

最新文章

  1. Ubuntu 10.04 LTS 网站权限不够
  2. 如果面试官问你 JVM,额外回答逃逸分析技术会让你加分!
  3. nginx+memcached+captcha_server实现验证码服务器
  4. 01_SMC_Calling_Convention(SMCCC)
  5. iTween基础之功能简介
  6. 0-1语言建模当中会遇到的问题
  7. lua本学习笔记功能
  8. iSPRINT:Google 最高能的创新加速课程,产品一次就成的助推器!
  9. 北京市延庆县门户网站改版及电子政务网站群建设项目落定西部动力
  10. 登录小米帐号怎么会显示服务器错误,小米官网登录不进去怎么办 小米官网无法登陆是怎么回事...
  11. 工控组态编程相关知识点介绍
  12. 基于arduino的oled显示屏的使用
  13. 网络安全学习笔记6(批处理编写)
  14. SSD: Single Shot MultiBox Detector 模型fine-tune和网络架构
  15. Android之画图
  16. 电商系统之延长收货与申请退款
  17. 使用POI编辑Word文档添加文字水印
  18. 入门行人重识别 尝试跑(郑哲东 简单行人重识别代码到88%准确率)过程
  19. 计算机中的PS颜色填充快捷键,ps颜色填充快捷键【解决技巧】
  20. PwC普华永道信息技术2023助理软件工程师面经总结

热门文章

  1. hibernate SQLQuery实践指南
  2. 《为iPad而设计:打造畅销App》——抓住iPad的核心用法
  3. C语言及程序设计进阶例程-12 结构体成员的引用
  4. sqlserver实验心得体会_SQLServer数据库实训总结
  5. java验证码Kaptcha
  6. 分布式devops_维护分布式团队的DevOps心态的10个技巧
  7. 输油管道问题 测试数据_建立测试时要考虑的数据管道
  8. 阿里 开放平台 多伦对话_开放式领导者指南,以开始数字转换对话
  9. cosmos db_开放电影项目Cosmos Laundromat如何使Blender更好
  10. 缓冲区 | 没吃透Netty 缓冲区,还能算得上Java老司机?