当前位置: 首页 > news >正文

10-jQuery-遍历children、parent、for、each、for...of等

1、for 循环:可以用来遍历数组或类数组对象,但不能用来遍历普通对象。

<ul><li>John</li><li>Doe</li><li>Jane</li><li>Doe</li>
</ul><script>var lis = $('li');for (var i = 0; i < lis.length; i++) {console.log(lis[i].textContent);}
</script>

上述代码表示:通过 $ 函数选择所有 li 元素,并将它们存储在变量 lis 中。然后使用 for 循环遍历 lis 数组,打印出每个 li 元素的文本内容。

2、each() 方法:可以遍历任何类型的集合,包括普通对象、数组和类数组对象。

<ul><li id="1">John</li><li id="2">Doe</li><li id="3">Jane</li><li id="4">Doe</li>
</ul><script>$('li').each(function(index, element) {console.log(index + ':' + $(element).text());});
</script>

上述代码表示:使用 $ 函数选择所有 li 元素,并使用 each() 方法遍历它们。each() 方法接受一个函数作为参数,在每个元素上执行该函数。这个函数包含两个参数:元素的索引和元素本身。在示例代码中,使用 console.log() 打印每个 li 元素的索引和文本内容。

3、for...of 循环是 ES6 引入的一种新的循环语法,可以用来遍历所有可迭代对象,包括数组、类数组对象和字符串等。

<div class="container"><div>John</div><div>Doe</div><div>Jane</div><div>Doe</div>
</div>
<script>var container = $('.container');for (var element of container.children()) {console.log($(element).text());}
</script>

上述代码表示:通过 $ 函数选择 container 元素,并使用 children() 方法获取它的所有子元素。然后使用 for...of 循环遍历所有子元素,并打印出它们的文本内容。需要注意的是,for...of 循环中的 element 变量是 DOM 元素,需要使用 $ 函数将其转换成 jQuery 对象才能进行相关操作。

4、children() 方法返回当前元素的所有子元素,可以带一个可选的选择器参数进行筛选。

<div class="container"><p>John</p><p>Doe</p><p>Jane</p><p>Doe</p>
</div>
<script>var container = $('.container');container.children().each(function() {console.log($(this).text());});
</script>

上述代码表示:使用 $ 函数选择 container 元素,并使用 children() 方法获取它的所有子元素。然后使用 each() 方法遍历所有子元素,并打印出它们的文本内容。

5、find() 方法返回当前元素的所有后代元素,可以带一个可选的选择器参数进行筛选。

<div class="container"><ul><li>John</li><li>Doe</li></ul><ul><li>Jane</li><li>Doe</li></ul>
</div><script>var container = $('.container');container.find('li').each(function() {console.log($(this).text());});
</script>

上述代码表示:使用 $ 函数选择 container 元素,并使用 find() 方法获取它的所有后代 li 元素。然后使用 each() 方法遍历所有 li 元素,并打印出它们的文本内容。

6、parent() 方法返回当前元素的直接父元素。

<div class="container"><p>John</p><p>Doe</p>
</div><script>var p = $('p');p.parent().css('background-color', 'yellow');
</script>

上述代码表示:使用 $ 函数选择所有 p 元素,并使用 parent() 方法获取它们的直接父元素。然后使用 css() 方法修改它们的背景颜色为黄色。

7、parents() 方法返回当前元素的所有祖先元素,可以带一个可选的选择器参数进行筛选。

<div class="outer"><div class="inner"><p>John</p><p>Doe</p></div>
</div>
<script>var p = $('p');p.parents('.outer').css('background-color', 'yellow');
</script>

上述代码表示:使用 $ 函数选择所有 p 元素,并使用 parents('.outer') 方法获取它们的最近的带有类名为 outer 的祖先元素。然后使用 css() 方法修改该祖先元素的背景颜色为黄色。


jQuery 遍历函数

jQuery 遍历函数包括了用于筛选、查找和串联元素的方法。

函数描述
.add()将元素添加到匹配元素的集合中。
.andSelf()把堆栈中之前的元素集添加到当前集合中。
.children()获得匹配元素集合中每个元素的所有子元素。
.closest()从元素本身开始,逐级向上级元素匹配,并返回最先匹配的祖先元素。
.contents()获得匹配元素集合中每个元素的子元素,包括文本和注释节点。
.each()对 jQuery 对象进行迭代,为每个匹配元素执行函数。
.end()结束当前链中最近的一次筛选操作,并将匹配元素集合返回到前一次的状态。
.eq()将匹配元素集合缩减为位于指定索引的新元素。
.filter()将匹配元素集合缩减为匹配选择器或匹配函数返回值的新元素。
.find()获得当前匹配元素集合中每个元素的后代,由选择器进行筛选。
.first()将匹配元素集合缩减为集合中的第一个元素。
.has()将匹配元素集合缩减为包含特定元素的后代的集合。
.is()根据选择器检查当前匹配元素集合,如果存在至少一个匹配元素,则返回 true。
.last()将匹配元素集合缩减为集合中的最后一个元素。
.map()把当前匹配集合中的每个元素传递给函数,产生包含返回值的新 jQuery 对象。
.next()获得匹配元素集合中每个元素紧邻的同辈元素。
.nextAll()获得匹配元素集合中每个元素之后的所有同辈元素,由选择器进行筛选(可选)。
.nextUntil()获得每个元素之后所有的同辈元素,直到遇到匹配选择器的元素为止。
.not()从匹配元素集合中删除元素。
.offsetParent()获得用于定位的第一个父元素。
.parent()获得当前匹配元素集合中每个元素的父元素,由选择器筛选(可选)。
.parents()获得当前匹配元素集合中每个元素的祖先元素,由选择器筛选(可选)。
.parentsUntil()获得当前匹配元素集合中每个元素的祖先元素,直到遇到匹配选择器的元素为止。
.prev()获得匹配元素集合中每个元素紧邻的前一个同辈元素,由选择器筛选(可选)。
.prevAll()获得匹配元素集合中每个元素之前的所有同辈元素,由选择器进行筛选(可选)。
.prevUntil()获得每个元素之前所有的同辈元素,直到遇到匹配选择器的元素为止。
.siblings()获得匹配元素集合中所有元素的同辈元素,由选择器筛选(可选)。
.slice()将匹配元素集合缩减为指定范围的子集。
http://www.lryc.cn/news/70308.html

相关文章:

  • 联想集团财报:收入持续下滑,联想集团财务前景已恶化
  • GPT4限制被破解!ChatGPT实现超长文本处理的新方法
  • 奋斗,然后成功:我的架构狮之梦
  • 自定义属性,v-bind computed的使用
  • 解决城市内涝的措施有哪些?需要用到哪些监测设备?
  • Spark大数据处理讲课笔记----Spark任务调度
  • 【22-23春】AI作业10-经典卷积网络
  • 第13章_约束
  • GPC规范--安全域基础概念
  • C++初阶--C++入门之基础学习
  • 服务器虚拟化部署
  • 实验篇(7.2) 01. 实验环境介绍 远程访问 ❀ Fortinet网络安全专家 NSE4
  • ThinkPHP6 模型层的模型属性,表映射关系,以及如何在控制层中使用模型层和模型层中的简单CRUD
  • CodeForces.1806A .平面移动.[简单][判断可达范围][找步数规律]
  • Linux系统编程学习 NO.4 ——基础指令学习、操作系统时间的概念、文件压缩包的概念
  • leecode 数据库:601. 体育馆的人流量
  • gym不渲染画面的解决方案(gym版本号0.26.2)
  • 如何在 Fedora 37 上安装 FileZilla?
  • 网终安全技术(刘化君)课后被略的答案
  • 架构思想之DDD
  • FinClip | 2023 年 4 月产品大事记
  • 试论什么是圣人境界
  • 在外远程登录局域网下的象过河ERP管理系统,无需公网IP
  • golang 服务中 context 超时处理的思考
  • 遇到Uniapp配置meta不生效怎么解决
  • C语言基础知识:位与位字段
  • 新版android studio gradle插件7.4.2.pom一直无法下载问题
  • Shell——变量和引用
  • 实际开发中一些实用的JS数据处理方法
  • 10:00进去,10:05就出来了,这问的也太变态了···